Penjelasan terperinci tentang ini dalam Nodejs_node.js

WBOY
Lepaskan: 2016-05-16 15:07:56
asal
1595 orang telah melayarinya

Kandungan berikut adalah semua tentang ini dalam nodejs dan bukannya ini dalam javascript Ini dalam nodejs berbeza daripada ini dalam javascript dalam penyemak imbas.

ini

dalam global
console.log(this); {}
this.num = 10;
console.log(this.num); 10
console.log(global.num); undefined
Salin selepas log masuk

Ini di dunia global ialah objek kosong secara lalai. Dan dalam global ini tidak mempunyai hubungan dengan objek global, jadi siapa sebenarnya yang melakukan ini dalam titik global? Kami akan menerangkan perkara ini pada separuh kedua bab ini.

ini

dalam fungsi
function fn(){
  this.num = 10;
}
fn();
console.log(this); {}
console.log(this.num); undefined
console.log(global.num); 10

Salin selepas log masuk

Ini dalam fungsi menunjuk ke objek global, yang bukan objek yang sama seperti ini dalam global Secara ringkasnya, pembolehubah yang anda tentukan melalui ini dalam fungsi adalah bersamaan dengan menambah atribut kepada global. ia adalah sama seperti global. "ini" dalam "tidak ada kaitan dengannya".

Jika anda tidak percaya, lihat kod di bawah untuk membuktikannya.

function fn(){
  function fn2(){
    this.age = 18;
  }
  fn2();
  console.log(this); global
  console.log(this.age); 18
  console.log(global.age); 18
}
fn();

Salin selepas log masuk

Betul, dalam fungsi ini menunjuk ke global.

ini

dalam pembina
function Fn(){
  this.num = 998;
}
var fn = new Fn();
console.log(fn.num); 998
console.log(global.num); undefined
Salin selepas log masuk

Dalam pembina, ini menunjukkan contohnya, bukan global.

Kita kini boleh bercakap tentang perkara ini dalam konteks global, ia sebenarnya ada kaitan dengan skop dalam Nodejs. Jika anda ingin mengetahui lebih lanjut tentang skop dalam Nodejs, anda boleh membacanya perbincangan tentang skop dalam isu Skop. artikel ini.

Kembali kepada topik, ini dalam konteks global menunjuk kepada module.exports.

this.num = 10;
console.log(module.exports); {num:10}
console.log(module.exports.num);
Salin selepas log masuk

Mengapa ini merujuk kepada module.exports dalam pandangan global Kemudian anda perlu mengetahui lebih lanjut tentang module.exports dahulu nanti

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan