Ini adalah kata kunci penting dalam bahasa yang berorientasi objek. JavaScript ini berbeda dari bahasa yang berorientasi objektif seperti Java dan C#, yang membuat ini lebih membingungkan dan membingungkan.
Apa yang digunakan ini:
1. Fungsi murni
2. Panggilan metode objek
3. Gunakan baru untuk menghubungi konstruktor
4. Fungsi internal
5. Gunakan Panggilan / Terapkan
6. Event Binding
1. Fungsi murni
Salin kode kode sebagai berikut:
var name = 'Ini jendela'; // Tentukan properti nama jendela
function getName () {
Console.log (ini);
Console.log (this.name); // output konsol: Ini adalah jendela /
}
getName ();
Analisis hasil berjalan: Ini dalam fungsi murni menunjuk pada objek global, jendela.
2. Panggilan metode objek
Salin kode kode sebagai berikut:
var name = 'Ini jendela'; // Tentukan atribut nama jendela, lihat apakah ini.
var testobj = {
Nama: 'Ini Testobj',
getName: function () {
Console.log (ini);
Console.log (this.name); // Output Konsol: Ini adalah TestObj
}
}
testobj.getname ();
Analisis Hasil Jalankan: Ini menunjuk pada objek yang memanggil metode ini.
3. Gunakan baru untuk menghubungi konstruktor
Salin kode kode sebagai berikut:
fungsi getobj () {
Console.log (ini);
}
Getobj baru ();
Analisis Hasil Jalankan: Ini dalam konstruktor baru menunjuk ke objek yang baru dihasilkan.
4. Fungsi internal
Salin kode kode sebagai berikut:
var name = "This is window";
var testobj = {
Nama: "Ini Testobj",
getName: function () {
// var seelf = ini; // Simpan sementara objek ini
var ahandle = function () {{)
Console.log (ini);
Console.log (this.name); // Output Konsol: Ini Jendela
//console.log (set);
}
menangani ();
}
}
testobj.getname ();
Analisis Hasil Jalankan: Ini dalam fungsi internal masih menunjuk ke objek global, jendela. Secara umum dianggap sebagai kesalahan desain dalam bahasa JavaScript, karena tidak ada yang mau mengarahkan ini dalam fungsi internal ke objek global. Metode pemrosesan umum adalah menyimpan ini sebagai variabel, dan umumnya disepakati sebagai atau diri, seperti yang ditunjukkan dalam kode di atas.
5. Gunakan Panggilan / Terapkan
Salin kode kode sebagai berikut:
var name = 'Ini jendela'; // Tentukan atribut nama jendela, lihat apakah ini.
var testobj1 = {
Nama: 'Ini Testobj1',
getName: function () {
Console.log (ini);
Console.log (this.name); // output konsol: Ini adalah testObj2
}
}
var testobj2 = {
Nama: 'Ini testobj2'
}
testoBj1.getName.Apply (testObj2);
testobj1.getname.call (testObj2);
Catatan: Terapkan dan panggilan serupa, tetapi parameter kedua dari keduanya berbeda:
[1] Call (Thisarg [, arg1, arg2, ...]); // Parameter kedua menggunakan daftar parameter: arg1, arg2, ...
[2] Terapkan (Thisarg [, Argarray]);
Analisis Hasil Menjalankan: Ini menggunakan ini dalam fungsi panggilan / terapkan untuk menunjuk ke objek yang mengikat.
6. Event Binding
Metode dalam metode acara ini harus menjadi tempat yang paling mencurigakan, sebagian besar kesalahan berasal dari ini.
Salin kode kode sebagai berikut:
// halaman untuk mengikat elemen
<type skrip = "Teks/JavaScript">
fungsi btclick () {
Console.log (ini);
}
</script>
<body>
<tombol id = "btn" onclick = "btclick ();"> klik </button>
</body>
Salin kode kode sebagai berikut:
// Metode Binding JS (1)
<body>
<tombol id = "btn"> klik </button>
</body>
<type skrip = "Teks/JavaScript">
fungsi btclick () {
Console.log (ini); // output konsol: <tombol id = "btn"> klik </button> // poin ini ke objek tombol elemen
}
document.geteLementById ("btn").
document.geteLementById ("btn").
</script>
Salin kode kode sebagai berikut:
// Metode Binding JS (2)
<body>
<tombol id = "btn"> klik </button>
</body>
<type skrip = "Teks/JavaScript">
document.geteLementById ("btn").
Console.log (ini); // output konsol: <tombol id = "btn"> klik </button> // poin ini ke objek tombol elemen
}
document.geteLementById ("btn").
</script>
Salin kode kode sebagai berikut:
// Metode Binding JS (3)
<body>
<tombol id = "btn"> klik </button>
</body>
<type skrip = "Teks/JavaScript">
fungsi btclick () {
Console.log (ini);
}
document.getElementById ("btn"). Metode (metode metode (metode) saat digunakan dalam penanganan acara.
document.getElementById ("btn").
</script>
Analisis hasil berjalan: Dua metode pengikatan peristiwa umum di atas, mengikat peristiwa pada elemen halaman selain metode acara pengikat, ini menunjuk ke elemen elment dari acara pengikatan.