Rumah >hujung hadapan web >tutorial js >Bagaimanakah Kata Kunci `ini` Berkelakuan dalam Literal Objek JavaScript?
Kelakuan Kata Kunci "ini" dalam Literal Objek Javascript
Dalam literal objek, kata kunci "ini" berfungsi sebagai pemegang tempat untuk objek sendiri. Walau bagaimanapun, tingkah lakunya boleh berbeza-beza bergantung pada keadaan di mana ia dipanggil.
Dalam kod anda:
var MyDate = function(date) { this.date = date; }; var obj1 = { foo: new Date(), bar: new MyDate(this.foo) // this.foo is undefined }; var obj2 = {}; obj2.foo = new Date(); obj2.bar = new MyDate(this.foo); // this.foo is undefined var obj3 = { foo: new Date(), bar: new MyDate(obj3.foo) }; var obj4 = {}; obj4.foo = new Date(); obj4.bar = new MyDate(obj4.foo);
Memahami Pengikatan "ini"
Kata kunci "ini" Javascript mempamerkan pengikatan lewat, bermakna nilainya tidak ditentukan sehingga fungsi itu digunakan. Dalam kes anda:
Senario 1 dan 2:
Senario 3 dan 4:
Kesimpulan
Gelagat kata kunci "ini" dalam objek literal bergantung pada konteks di mana fungsi itu digunakan. Jika tidak terikat secara eksplisit pada objek, ia lalai kepada objek global. Walau bagaimanapun, apabila dipanggil sebagai kaedah objek, ia merujuk kepada objek khusus itu, memastikan akses yang betul kepada sifat dan kaedah objek.
Atas ialah kandungan terperinci Bagaimanakah Kata Kunci `ini` Berkelakuan dalam Literal Objek JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!