Bagaimana untuk Mengakses Sifat Objek Secara Dinamik dengan Pembolehubah dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-10-30 16:07:36
asal
577 orang telah melayarinya

How to Dynamically Access Object Properties with Variables in JavaScript?

Akses Harta Dinamik dengan Pembolehubah dalam JavaScript

Dalam JavaScript, mengakses sifat objek secara dinamik menggunakan pembolehubah boleh menimbulkan cabaran. Mari kita pertimbangkan senario berikut:

var myObj;
myObj.prop = "exists";
var myProp = "p"+"r"+"o"+"p";

if(myObj.myProp){
    alert("yes, i have that property");
};
Salin selepas log masuk

Dalam contoh ini, kami ingin menyemak sama ada sifat prop wujud dalam objek myObj. Walau bagaimanapun, syarat myObj.myProp dinilai kepada tidak ditentukan kerana ia sebenarnya menyemak kewujudan harta yang tidak wujud (myObj.myProp).

Untuk mengakses sifat secara dinamik dengan betul, kita boleh menggunakan teknik berikut:

1. Kaedah hasOwnProperty:

Kaedah hasOwnProperty menyemak sama ada objek mempunyai sifat tertentu dalam senarai hartanya sendiri (tidak termasuk harta warisan).

var myProp = 'prop';
if(myObj.hasOwnProperty(myProp)){
    alert("yes, i have that property");
}
Salin selepas log masuk

2. dalam Operator:

Operator dalam menyemak sama ada objek mempunyai sifat tertentu, termasuk sifat yang diwarisi.

var myProp = 'prop';
if(myProp in myObj){
    alert("yes, i have that property");
}
Salin selepas log masuk

3. Notasi Shorthand:

Jika nama sifat ialah literal rentetan, kita boleh menggunakan notasi trengkas:

if('prop' in myObj){
    alert("yes, i have that property");
}
Salin selepas log masuk

Nota Penting:

  • Kaedah hasOwnProperty tidak menyemak sifat yang diwarisi, manakala pengendali dalam melakukannya.
  • Apabila menggunakan pengendali dalam, disyorkan untuk menetapkan nama sifat kepada pembolehubah terlebih dahulu untuk prestasi yang lebih baik.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Sifat Objek Secara Dinamik dengan Pembolehubah dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!