Ketika variabel JavaScript dideklarasikan dengan kata kunci "this1", variabel dibuat sebagai objek
x = Tali baru();
y = Nomor baru();
z = Boolean baru();
Hindari objek this2, this3, dan this4. Mereka memperumit kode Anda dan memperlambat kecepatan eksekusi
Terkadang nama properti perlu disimpan ke dalam variabel. Dalam contoh ini, kami bertanya kepada pengguna kata apa yang perlu dicari, dan kemudian memberikan hasil dari objek yang saya beri nama dictionary
var dictionary = { lettuce: 'a veggie', banana: 'a fruit', tomato: 'it depends on who you ask', apple: 'a fruit', Apple: 'Steve Jobs rocks!' // properties are case-sensitive } var word = prompt('What word would you like to look up today?') var definition = dictionary[word] alert(word + '\n\n' + definition)Perhatikan bagaimana kita menggunakan notasi braket [] untuk melihat variabel bernama word;
console.log(dictionary.word) // doesn't work because word is taken literally and dictionary has no field named `word` console.log(dictionary.apple) // it works! because apple is taken literally console.log(dictionary[word]) // it works! because word is a variable, and the user perfectly typed in one of the words from our dictionary when prompted console.log(dictionary[apple]) // error! apple is not defined (as a variable) _Anda juga dapat menulis nilai literal dengan notasi [] dengan mengganti variabel word dengan string console.log(dictionary.word) // doesn't work because word is taken literally and dictionary has no field named `word` console.log(dictionary.apple) // it works! because apple is taken literally console.log(dictionary[word]) // it works! because word is a variable, and the user perfectly typed in one of the words from our dictionary when prompted console.log(dictionary[apple]) // error! apple is not defined (as a variable) 0. Lihat contoh [Properti dengan karakter khusus atau kata khusus].
Variabel atau ekspresi dalam tanda kurung dievaluasi, jadi jika kunci dengan nama yang dihitung ada, Anda akan mendapatkan kembali nilai yang sesuai
Kita dapat mengakses properti objek menggunakan
- notasi tanda kurung
- notasi titik
Anda harus menggunakan sintaks notasi braket [] ketika variabel harus dievaluasi ke kunci tertentu
Saat menggunakan notasi titik, nama properti setelah titik diambil secara harfiah dan tidak dievaluasi, meskipun ada variabel dengan nama yang ditentukan
Objek tidak memiliki kunci myVar, jadi mencoba mengaksesnya mengembalikan undefined
Sebagai gantinya, gunakan notasi braket untuk mengevaluasi variabel saat mengakses kunci yang sesuai
Variabel di antara tanda kurung akan dievaluasi sebelum mengakses objek pada kunci yang ditentukan
Dapatkan nilai objek menggunakan ekspresi
Anda juga dapat menggunakan operator penjumlahan (+) atau ekspresi lain yang dapat Anda pikirkan, untuk menghitung kuncinya
Berikut adalah contoh penggunaan operator ternary, yang sangat mirip dengan pernyataan if/else
Jika ekspresi di sebelah kiri tanda tanya benar, operator mengembalikan nilai di sebelah kiri titik dua, jika tidak, nilai di sebelah kanan titik dua dikembalikan
Setelah ekspresi dievaluasi, ia mengembalikan nilai variabel myVar1
Mengatur kunci objek dengan menggunakan variabel
Anda juga dapat menggunakan pendekatan saat menyetel kunci pada suatu objek
Kami menggunakan variabel untuk mengatur kunci age pada objek dan kemudian menggunakan notasi braket untuk mengevaluasi variabel untuk mengakses kunci
Dalam pemrograman, nama variabel dinamis tidak memiliki nama khusus yang dikodekan dalam skrip. Mereka diberi nama secara dinamis dengan nilai string dari sumber lain. Variabel dinamis jarang digunakan dalam JavaScript. Tetapi dalam beberapa kasus mereka berguna. Tidak seperti PHP, tidak ada implementasi khusus dari nama variabel dinamis di JavaScript. Tetapi hasil serupa dapat dicapai dengan menggunakan beberapa metode lain. Dalam JavaScript, nama variabel dinamis dapat dicapai dengan menggunakan 2 metode/cara yang diberikan di bawah ini
JavaScript eval() Metode. Fungsi eval() mengevaluasi kode JavaScript yang direpresentasikan sebagai string dalam parameter. Sebuah string dilewatkan sebagai parameter ke eval(). Jika string merepresentasikan sebuah ekspresi, eval() akan mengevaluasi ekspresi tersebut. Di dalam eval(), kita melewatkan string di mana variabel valuei dideklarasikan dan diberi nilai i untuk setiap iterasi. Fungsi eval() mengeksekusi ini dan membuat variabel dengan nilai yang ditetapkan. Kode yang diberikan di bawah ini mengimplementasikan pembuatan nama variabel dinamis menggunakan eval().
Contoh.
javascript
<script>
________34__35_______ k ='value';
var value1=1 value2=2 value3=3 value4=40
________3console.log(dictionary.word) // doesn't work because word is taken literally and dictionary has no field named `word` console.log(dictionary.apple) // it works! because apple is taken literally console.log(dictionary[word]) // it works! because word is a variable, and the user perfectly typed in one of the words from our dictionary when prompted console.log(dictionary[apple]) // error! apple is not defined (as a variable) _3_______3
value1=1 value2=2 value3=3 value4=44value1=1 value2=2 value3=3 value4=45value1=1 value2=2 value3=3 value4=46 value1=1 value2=2 value3=3 value4=47value1=1 value2=2 value3=3 value4=48 value1=1 value2=2 value3=3 value4=49<script>0<script>1
________34__33_______3
________34__33_______5<script>6 <script>7
________34__33_______5 0 1
________34__33_______5 4 5
________34__33_______5 8 9
var_0
Keluaran
value1=1 value2=2 value3=3 value4=4Objek jendela. JavaScript selalu memiliki objek global yang ditentukan. Saat program membuat variabel global, mereka dibuat sebagai anggota objek global. Objek jendela adalah objek global di browser. Variabel atau fungsi global apa pun dapat diakses dengan objek jendela. Setelah mendefinisikan variabel global, kita dapat mengakses nilainya dari objek jendela. Kode yang diberikan di bawah mengimplementasikan nama variabel dinamis menggunakan objek jendela. Jadi, kode pada dasarnya membuat variabel global dengan nama dinamis "valuei" untuk setiap iterasi i dan memberikan nilai i ke dalamnya. Nantinya variabel-variabel ini dapat diakses di skrip di mana saja karena menjadi variabel global.
Contoh.
javascript
<script>
________34__35_______ var4
________3console.log(dictionary.word) // doesn't work because word is taken literally and dictionary has no field named `word` console.log(dictionary.apple) // it works! because apple is taken literally console.log(dictionary[word]) // it works! because word is a variable, and the user perfectly typed in one of the words from our dictionary when prompted console.log(dictionary[apple]) // error! apple is not defined (as a variable) _3_______3
value1=1 value2=2 value3=3 value4=44var9________37__36_______1
________34__33_______3
k =4
________34__33_______5<script>6 <script>7
________34__33_______5 0 1
________34__33_______5 4 5
________34__33_______5 8 9
var_0
Keluaran
value1=1 value2=2 value3=3 value4=4JavaScript terkenal untuk pengembangan halaman web tetapi juga digunakan di berbagai lingkungan non-browser. Anda dapat mempelajari JavaScript dari awal dengan mengikuti Tutorial JavaScript dan Contoh JavaScript ini