Rumah >hujung hadapan web >tutorial js >Panduan untuk menggunakan kaedah hasOwnProperty() dalam pengetahuan javascript_Basic

Panduan untuk menggunakan kaedah hasOwnProperty() dalam pengetahuan javascript_Basic

WBOY
WBOYasal
2016-05-16 16:10:451438semak imbas

Ikhtisar

Kaedah

hasOwnProperty() digunakan untuk menentukan sama ada sesuatu objek mengandungi harta sendiri yang ditentukan.

Tatabahasa
obj.hasOwnProperty(prop)

Parameter

•prop

•Nama atribut untuk dikesan.

Penerangan

Semua objek yang mewarisi Object.prototype akan mewarisi kaedah hasOwnProperty daripada rantaian prototaip Kaedah ini boleh digunakan untuk mengesan sama ada objek mengandungi sifat sendiri yang khusus, kaedah ini akan mengabaikan ciri-ciri dari prototaip diwarisi dari sanad.

Contoh

Contoh 1: Gunakan kaedah hasOwnProperty untuk menentukan sama ada objek mengandungi sifat sendiri yang khusus

Contoh berikut menyemak sama ada objek o mengandungi prop atributnya sendiri:

Salin kod Kod adalah seperti berikut:

o = Objek baharu();o.prop = 'wujud';perubahan fungsiO() {
o.newprop = o.prop;
padamkan o.prop;}o.hasOwnProperty('prop'); // Kembalikan benar
changeO();
o.hasOwnProperty('prop');
// Kembalikan palsu


Contoh 2: Perbezaan antara harta sendiri dan harta warisan

Contoh berikut menunjukkan perbezaan antara rawatan kaedah hasOwnProperty terhadap hartanya sendiri dan harta warisan:

Salin kod Kod adalah seperti berikut:
o = new Object();o.prop = 'wujud';o.hasOwnProperty('prop'); // Kembalikan benar
o.hasOwnProperty('toString'); // Kembalikan palsu
o.hasOwnProperty('hasOwnProperty'); // Kembalikan palsu




Contoh 3: Melintasi semua sifat diri objek

Contoh berikut menunjukkan cara untuk mengabaikan sifat yang diwarisi apabila merentasi semua sifat objek di sini hanya akan melintasi sifat yang boleh dikira Ini biasanya yang kita mahukan secara langsung. kaedah juga boleh mencapai keperluan yang sama.

Salin kod

Kod adalah seperti berikut: var buz = { kabus: 'timbunan'};
untuk (nama var dalam buz) {
Jika (buz.hasOwnProperty(nama)) {
alert("ini adalah kabus (" nama ") pastinya. Nilai: " buz[nama]);
}
lain {
makluman(nama);
// toString atau sesuatu yang lain
          }}




Contoh 4: kaedah hasOwnProperty mungkin dikaburkan

Jika objek mempunyai kaedah hasOwnProperty sendiri, kaedah dengan nama yang sama pada rantai prototaip akan dibayangi:

Salin kod

Kod adalah seperti berikut: var foo = { HasOwnProperty: function() {
         kembali palsu;
},
bar: 'Inilah naga'};foo.hasOwnProperty('bar'); // sentiasa mengembalikan palsu
// Jika anda bimbang tentang situasi ini, anda boleh terus menggunakan kaedah hasOwnProperty sebenar pada rantai prototaip
({}).hasOwnProperty.call(foo, 'bar'); // benar
Object.prototype.hasOwnProperty.call(foo, 'bar'); // benar



Di atas adalah semua kandungan yang diterangkan dalam artikel ini, saya harap anda semua menyukainya.
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn