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"); };
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"); }
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"); }
3. Notasi Shorthand:
Jika nama sifat ialah literal rentetan, kita boleh menggunakan notasi trengkas:
if('prop' in myObj){ alert("yes, i have that property"); }
Nota Penting:
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!