Rumah >hujung hadapan web >tutorial js >Adakah JavaScript `untuk...dalam` Menjamin Pesanan Harta?
Tertib Elemen Gelung dalam "untuk (... dalam ...)" Penyata
"untuk (... dalam . ..)" gelung dalam JavaScript digunakan untuk mengulangi sifat objek. Timbul persoalan sama ada sifat ini diproses mengikut susunan ia diisytiharkan.
Menurut John Resig, semua penyemak imbas utama mengekalkan susunan definisi sifat objek semasa lelaran gelung. Walau bagaimanapun, Chrome dan Opera mempamerkan pengecualian hanya untuk nama sifat bukan berangka. Sifat ini diproses lebih awal daripada sifat berangka pertama dalam kedua-dua penyemak imbas.
Untuk memudahkan:
Contohnya:
var obj = { "first": "first", "2": "2", "34": "34", "1": "1", "second": "second" }; for (var i in obj) { console.log(i); };
Dalam kebanyakan penyemak imbas, outputnya ialah:
1 2 34 first second
Dalam Chrome dan Opera, outputnya ialah :
1 2 34 first second
Walaupun konsistensi semasa dalam tingkah laku penyemak imbas, spesifikasi ECMAScript membiarkan mekanik gelung tidak ditentukan. Oleh itu, bergantung pada pesanan semasa tidak disyorkan.
Amalan Terbaik:
Jika pesanan adalah penting untuk aplikasi anda, anda dinasihatkan untuk menggunakan tatasusunan dan bukannya objek dengan gelung "untuk (... dalam ...)". Tatasusunan mengekalkan susunan unsur dengan lebih dipercayai.
Atas ialah kandungan terperinci Adakah JavaScript `untuk...dalam` Menjamin Pesanan Harta?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!