Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengakses Sifat Objek JavaScript Menggunakan Nama Rentetan?

Bagaimanakah Saya Boleh Mengakses Sifat Objek JavaScript Menggunakan Nama Rentetan?

DDD
DDDasal
2024-12-17 06:49:25897semak imbas

How Can I Access JavaScript Object Properties Using String Names?

Objek JavaScript: Mengakses Sifat Pembolehubah Menggunakan Nama Harta Rentetan

Dalam JavaScript, adalah mungkin untuk mendapatkan semula nilai harta objek menggunakan namanya sebagai rentetan. Pendekatan ini selalunya berguna apabila bekerja dengan nama sifat dinamik atau apabila berurusan dengan objek bersarang yang nama sifatnya tidak diketahui pada masa penyusunan.

Untuk mengakses sifat objek menggunakan namanya sebagai rentetan, anda boleh menggunakan notasi kurungan :

var side = columns['right'];

Notasi ini bersamaan dengan notasi titik:

var side = columns.right;

Walau bagaimanapun, tanda kurung tatatanda adalah lebih serba boleh, kerana ia membolehkan anda mengakses sifat secara dinamik berdasarkan nilai pembolehubah atau nilai pulangan fungsi:

var propertyName = 'left';
var propertyValue = columns[propertyName];

Jika anda lebih suka menggunakan fungsi untuk mengakses sifat objek dengan nama rentetan, berikut ialah pelaksanaan mudah :

function read_prop(obj, prop) {
    return obj[prop];
}

Fungsi ini mengambil objek dan nama harta sebagai argumen dan mengembalikan nilai yang sepadan harta benda.

Objek Bersarang

Apabila bekerja dengan objek bersarang, anda boleh mengakses sifat menggunakan beberapa set kurungan:

var foo = { a: 1, b: 2, c: { x: 999, y: 998, z: 997 } };
var cx = foo['c']['x'];

Undefined Properties

Jika percubaan dibuat untuk mengakses undefined harta, hasilnya tidak ditentukan, bukan batal atau palsu:

foo['c']['q'] === null // returns false
foo['c']['q'] === false // returns false
foo['c']['q'] === undefined // returns true

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Sifat Objek JavaScript Menggunakan Nama Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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