Mengapa undefined dicetak? Bagaimana saya boleh membuat kod ini mencetak global, obj dan inner masing-masing
var scope = 'global';
function log() {
console.log(this.scope)
}
var obj = {
scope: 'obj',
do: function () {
var scope = 'inner';
log()
}
};
obj.do();
Cita-cita objek terakhir, tingkap, tingkap.skop, kembali tidak ditentukan
masalah penunjuk ini
penunjukan ini dalam persekitaran pelaksanaan fungsi JS yang berbeza
Pertama sekali, apa yang dicetak oleh kod ini haruslah global, bukan undefined Kemudian, adalah mustahil untuk memanggil inner melalui cara anda menulisnya. Untuk yang lain, lihat sahaja penunjuk ini
var skop = 'global';
log fungsi() {
}
var obj = {
};
obj.do();