(I) Metode dan atribut pemilihan dinamis
Dalam pekerjaan yang sebenarnya, kita sering menemukan situasi ini: panggil salah satu dari dua metode [1] sesuai dengan kondisi tertentu, atau operasi membaca dan tulis di salah satu dari dua atribut [2]. Kode berikut menunjukkan ini:
Salinan kode adalah sebagai berikut:
if (kondisi) {
myobj.method1 (somearg);
} kalau tidak {
myobj.method2 (somearg);
}
JavaScript menyediakan sintaks sederhana yang menggunakan operator braket persegi ([]) untuk secara dinamis memilih metode dan properti. Seperti yang ditunjukkan dalam kode berikut, JavaScript memiliki dua sintaks akses anggota yang setara (fitur ini umum dalam bahasa dinamis):
OBJ [ExpressionResultingInmemberName] == OBJ.MemberName
Jika Anda telah menggunakan integer subscript untuk mengakses elemen dalam array, Anda sudah mulai menggunakan operator braket persegi untuk melakukan pemilihan anggota yang dinamis. Ini karena objek array itu sendiri berisi atribut (dan atribut panjang) yang dinamai setelah nomor subskrip. Namun, JavaScript tidak memungkinkan Anda untuk secara langsung mengakses properti ini menggunakan operator dot (.), Jadi myarray.0 secara sintaksis ilegal (memalukan, ini sintaks keren).
Mengapa operator braket persegi lebih kuat daripada notasi operator titik? Ini karena Anda dapat mengakses anggota objek menggunakan konten apa pun yang mewakili nama anggota dalam tanda kurung persegi. Ini termasuk literal, variabel yang memegang nama anggota, kombinasi nama (kebanyakan splicing string), dan seleksi cepat jika/kemudian menggunakan operator ternary (kondisi? ValueIfTrue: valuiffalse). Semua konten ini akan diproses menjadi string, dan kemudian JavaScript akan menggunakan string ini untuk menemukan anggota yang sesuai.
Karena fungsi dalam JavaScript sendiri merupakan objek, itu dapat direferensikan seperti nilai lainnya. Jika hasil ekspresi adalah fungsi, Anda dapat memanggilnya secara langsung dengan operator braket, sama seperti Anda memanggil fungsi secara langsung dengan nama fungsi.
Perlu dicatat bahwa jika Anda menggunakan trik ini dengan berat pada parameter yang Anda berikan kepada metode ini, tanda kurung yang membingungkan dapat membuat kode sulit dibaca, dan lebih bijaksana untuk menggunakan struktur IF/lain yang biasa saat ini.
(Ii) Properti dan Metode Objek Traversal JavaScript
JavaScript menggunakan For In dalam pernyataan untuk mengulangi properti dan metode suatu objek. For dalam pernyataan loop melalui objek JavaScript.
tata bahasa:
Salinan kode adalah sebagai berikut:
for (valuename in objectName) {
// Kode
}
Di mana, nama variabel adalah nama variabel, yang memegang nama properti atau metode.