Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengakses Nilai Objek Dalaman dalam JavaScript?

Bagaimana untuk Mengakses Nilai Objek Dalaman dalam JavaScript?

DDD
DDDasal
2024-10-19 13:00:02915semak imbas

How to Access Internal Object Values in JavaScript?

Mengakses Nilai Objek Dalaman dalam JavaScript

Dalam JavaScript, objek boleh merujuk kepada nilai dalam dirinya sendiri menggunakan mekanisme rujukan dalamannya. Walau bagaimanapun, menentukan sintaks yang sesuai untuk mengakses nilai dalaman kadangkala boleh menjadi rumit.

Pertimbangkan kod JavaScript berikut:

<code class="js">var obj = {
  key1: "it ",
  key2: key1 + " works!"
};
alert(obj.key2);</code>

Kod ini cuba mengakses nilai 'key2' berdasarkan nilai 'kunci1'. Walau bagaimanapun, ia menimbulkan ralat kerana 'key1' tidak ditakrifkan dalam skop 'key2'.

Pelbagai kaedah telah diterokai untuk mengakses 'key1's value dalam 'key2', termasuk:

<code class="js">this.key1
this[key1]
obj.key1
obj[key1]
this["key1"]
obj["key1"]</code>

Walau bagaimanapun, tiada satu pun daripada pendekatan ini nampaknya berjaya.

Penyelesaian:

Untuk mengakses nilai dalaman dalam objek, pertimbangkan untuk menggunakan fungsi dalam objek itu sendiri . Dengan mentakrifkan fungsi dalam 'obj', anda boleh mengakses nilai dalaman (seperti 'key1') menggunakan 'ini'. Contohnya:

<code class="js">var obj = {
  key1: "it ",
  key2: function() {
    return this.key1 + " works!";
  }
};

alert(obj.key2());</code>

Dalam contoh ini, fungsi 'key2' mempunyai akses kepada sifat 'key1' dalam 'obj' melalui kata kunci 'this'. Apabila 'obj.key2()' dipanggil, ia mengembalikan rentetan bercantum "ia berfungsi!".

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Nilai Objek Dalaman dalam JavaScript?. 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