Apa yang ditunjuk oleh ini ditentukan oleh fungsi terdekat yang mengandunginya; Jika fungsi tidak ditemui, maka ini ialah objek global. Dalam soalan anda, ia adalah yang terakhir. this指向什么,由包含它的最近的一个function决定的; 如果没找到function,那么this就是全局对象。 你的题目中,就是后者。
稍微修改一下代码:
var str="hello";
var obj={
str:"world",
saystr: function() {
alert(this.str)
}
};
obj.saystr();
就是第一种情况了。
总结一下:确定this通常分两步走:
先找到包含this的最近的一个function;
然后看这个function
Ubah suai sedikit kod:
rrreee
Ini adalah situasi pertama. 🎜
🎜Untuk meringkaskan: Menentukan ini biasanya melibatkan dua langkah: 🎜
🎜Mula-mula cari fungsi terdekat yang mengandungi ini;🎜🎜
🎜Kemudian lihat bagaimana fungsi ini dipanggil. Lihat di sini untuk butiran. 🎜🎜
🎜
Artikel ini boleh menyelesaikan kebanyakan masalah ini.
Apa yang ditunjuk olehini ditentukan oleh
fungsi
terdekat yang mengandunginya;Jika
fungsi
tidak ditemui, makaini
ialah objek global.Dalam soalan anda, ia adalah yang terakhir.
this
指向什么,由包含它的最近的一个function
决定的;如果没找到
function
,那么this
就是全局对象。你的题目中,就是后者。
稍微修改一下代码:
就是第一种情况了。
总结一下:确定
this
通常分两步走:先找到包含
this
的最近的一个function
;然后看这个
Ubah suai sedikit kod:function
Tukar soalan kepada yang berikut untuk pemahaman yang lebih baik:
Jadi, anda boleh melihat sekilas pandang bahawa ini menghala ke objek global tetingkap, jadi hasil obj.saystr ialah hello