Di JS, menunjuk ini harus menjadi masalah yang sulit bagi para pemula, tetapi jika Anda benar -benar memahaminya, tidak akan ada masalah. Mari kita bicarakan ini di bawah ini.
Dalam JS, nilai ini tergantung pada pola panggilan (objek panggilan), dan ada 4 jenis pola panggilan di JS:
1. Mode Panggilan Fungsi
Ketika suatu fungsi bukan properti objek, itu disebut sebagai fungsi dua kali. Pada saat ini, ini dalam fungsi menunjuk ke objek global (dalam hal logaritma besar, itu adalah jendela)
window.value = 1; fungsi getValue () {console.log (this.value);} getValue (); // output 1, titik ini ke jendela2. Mode Panggilan Metode
Ketika suatu fungsi adalah properti objek, kami menyebutnya metode objek. Saat metode dipanggil, ini menunjuk ke objek
var obj = {value: 2, getValue: function () {console.log (this.value); // output 2, ini menunjuk ke obj}}Lai Lai Lai Dalam mode ini, pengikatan ini ke objek terjadi ketika metode disebut
3. Mode Panggilan Konstruktor
Fungsi yang disebut dengan baru disebut fungsi konstruktor. Pada saat ini, ini menunjuk pada objek yang berasal dari instance fungsi konstruktor
function main (val) {this.value = val;} main.prototype.getValue = function () {console.log (this.value);} var fun = baru utama (3); fun.getValue (); fun.value; // output 3, ini menunjuk ke instance objek Fun ObjectValue (); fun.value;/output 3, ini menunjuk ke instance objek objek Fun Objec4. Mode Panggilan Terapkan/Panggilan dan Bind
Metode terapkan, panggilan, bind memungkinkan kami untuk menetapkan siapa ini di penelepon menunjuk ke
function showValue () {console.log (this.value);} var obj = {value: 4} showValue.call (obj) // output 4, ini menunjuk ke objek OBJMetode BIND baru telah ditambahkan dalam ECMA5. Anda dapat google penggunaan spesifik. Berikut adalah demonstrasi penggunaan ikatan ini.
function showValue () {console.log (this.value);} var obj = {value: 4} var showValue2 = showValue.bind (obj); showValue2 () // output 4, ini menunjuk ke objek OBJ);Ada banyak penggunaan ikatan, Anda dapat memeriksanya sendiri
Klise di atas membicarakan hal ini di JS adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.