Perbezaan 1:
for in dikeluarkan dalam javascript 1.0.
Untuk setiap in dikeluarkan dalam JavaScript 1.6 sebagai sebahagian daripada standard E4X, manakala ia bukan sebahagian daripada standard ECMAScript.
Ini bermakna terdapat masalah keserasian dengan pelbagai penyemak imbas. untuk setiap dalam, yang tidak disokong oleh banyak penyemak imbas. Contohnya, ia tidak menyokong pelayar IE6, IE7, IE8 dan lain-lain.
Perbezaan 2:
Contoh: var segi empat tepat = { tinggi: "15", lebar: "25" };
for (var i in 长方形){ alert( i + "," + 长方形[i] ); }
Hasilnya ialah: tinggi, 15;
for each (var i in 长方形){ alert( i + "," + 长方形[i] ); }
Nilai pembolehubah i dalam dua kaedah traversal adalah berbeza untuk setiap dalam tidak boleh mendapatkan nama atribut objek, tetapi hanya boleh mendapatkan nilai atribut.
Akhir sekali, ringkaskan cadangan penggunaan:
(1) Untuk melintasi tatasusunan biasa, adalah disyorkan untuk menggunakan kaedah traversal asli untuk. Jangan tamak untuk kemudahan, kerana kedua-dua untuk dalam dan untuk setiap dalam mempunyai masalah keserasian penyemak imbas dan tidak dapat menjamin susunannya. melintasi tatasusunan (jika urutannya Jika tiada keperluan, anda boleh gunakan untuk masuk, tetapi saya tidak mengesyorkannya Jika anda berminat, anda boleh membaca artikel seterusnya "
Analisis ringkas tentang kecacatan daripada untuk dalam dalam js". (2) Melintasi objek Memandangkan for tidak dapat memberikan traversal yang ideal, kaedah lain hanya boleh dipilih. Adalah disyorkan untuk menggunakan untuk di sini Daripada perbezaan yang dijelaskan di atas, kerana dalam mempunyai lebih banyak kelebihan daripada untuk setiap untuk boleh mendapatkan nilai indeks dan atribut, manakala untuk setiap hanya boleh mendapatkan nilai atribut banyak pelayar versi rendah Tidak disokong.
Di atas adalah keseluruhan kandungan artikel ini, saya harap anda semua menyukainya