Ringkasan
Metode hasownproperty () digunakan untuk menentukan apakah suatu objek berisi properti yang ditentukan.
tata bahasa
obj.hasownproperty (prop)
parameter
•menopang
• Nama atribut yang akan dideteksi.
menggambarkan
Semua objek yang mewarisi objek.Prototype akan diwarisi dari rantai prototipe ke metode HasownProperty. Metode ini dapat digunakan untuk mendeteksi apakah suatu objek berisi properti tertentu. Berbeda dengan operator, metode ini akan mengabaikan properti yang diwarisi dari rantai prototipe.
Contoh
Contoh 1: Gunakan metode HasownProperty untuk menentukan apakah suatu objek berisi properti tertentu
Contoh berikut mendeteksi apakah objek O berisi prop atributnya sendiri:
Salinan kode adalah sebagai berikut:
o = objek baru (); o.prop = 'exist'; function changeo () {
o.newprop = o.prop;
hapus o.prop;} o.hasownproperty ('prop');
// Kembalikan true
changeo ();
o.hasownproperty ('prop');
// Kembalikan salah
Contoh 2: Perbedaan antara atribut Anda sendiri dan atribut yang diwariskan
Contoh berikut menunjukkan perbedaan antara metode HasownProperty memperlakukan sifatnya sendiri dan sifat yang diwariskan:
Salinan kode adalah sebagai berikut:
o = objek baru (); o.prop = 'ada'; o.hasownproperty ('prop');
// Kembalikan true
o.hasownproperty ('tostring');
// Kembalikan salah
o.hasownproperty ('hasownproperty');
// Kembalikan salah
Contoh 3: Iterasi melalui semua sifat suatu objek
Contoh berikut menunjukkan cara mengabaikan properti yang diwariskan saat melintasi semua sifat suatu objek. Perhatikan bahwa for..in loop hanya akan melintasi sifat yang dapat dihindarkan, yang biasanya yang kita inginkan. Ini juga dapat mencapai persyaratan serupa secara langsung menggunakan metode objek.getOwnPropertynames ().
Salinan kode adalah sebagai berikut:
var buz = {
Kabut: 'Stack'};
untuk (nama var di buz) {
if (buz.hasownproperty (name)) {
alert ("This is Fog (" + name + ") pasti. Nilai:" + buz [name]);
}
kalau tidak {
peringatan (nama);
// tostring atau yang lainnya
}}
Contoh 4: Metode HasownProperty dapat diblokir
Jika suatu objek memiliki metode HasownProperty sendiri, metode dengan nama yang sama pada rantai prototipe akan dibayangi:
Salinan kode adalah sebagai berikut:
var foo = {
hasownproperty: function () {
mengembalikan false;
},
Bar: 'Here Be Dragons'}; foo.hasownproperty ('bar');
// selalu kembali salah
// Jika Anda khawatir tentang ini, Anda dapat secara langsung menggunakan metode HASOWNPROPERTY yang sebenarnya pada rantai prototipe
({}). HasownProperty.call (foo, 'bar');
// BENAR
Objek.prototype.hasownproperty.call (foo, 'bar');
// BENAR
Di atas adalah semua konten yang dijelaskan dalam artikel ini, saya harap Anda menyukainya.