Rumah >hujung hadapan web >tutorial js >untuk/dalam gelung dan petua penggunaan dalam petua javascript_javascript

untuk/dalam gelung dan petua penggunaan dalam petua javascript_javascript

WBOY
WBOYasal
2016-05-16 15:41:061153semak imbas

JavaScript menyokong pelbagai jenis gelung:

untuk - gelung melalui blok kod beberapa kali

untuk/dalam - Gelung melalui sifat objek

semasa - Gelung melalui blok kod yang ditentukan apabila keadaan yang dinyatakan adalah benar

buat/sementara - turut menggelungkan blok kod yang ditentukan apabila keadaan yang dinyatakan adalah benar

1. dalam operator : Operan di sebelah kiri dikehendaki menjadi rentetan atau boleh ditukar kepada rentetan, dan operan di sebelah kanan ialah objek atau tatasusunan. Mengembalikan benar jika nilai di sebelah kiri pengendali ini ialah nama sifat objek di sebelah kanan.

Contohnya:

   var point={x:1,y:2}; //对象直接量
   var has_x="x" in point; //返回true
   var has_z="z" in point; //返回false
   var ts="toString" in point;//返回true,toString为继承方法

2. untuk/dalam pernyataan: sintaks,

untuk (pembolehubah dalam objek)
kenyataan;

Menyediakan cara untuk melintasi sifat objek.

Contoh:

for(var prop in my_object) {
    document.write("name:"+prop+";value:"+my_object[prop],"<br>");
  }

Tatasusunan JavaScript ialah jenis objek istimewa, jadi gelung untuk/dalam boleh menghitung subskrip tatasusunan seperti sifat objek.

Anda boleh menyalin semua nama harta objek ke dalam tatasusunan,

Contoh:

var o= {x:1,y:2,z:3};
  var a=new Array();
  var i=0;
  for (a[i++] in o) 
  ;//空语句,用于初始化数组

3 Operator in adalah berbeza daripada pernyataan for/in Bahagian kiri pernyataan for/in dalam boleh menjadi pernyataan var yang mengisytiharkan pembolehubah, elemen tatasusunan atau suatu. atribut objek. Ia tidak boleh digunakan.

4. Operator atribut akses yang biasa digunakan untuk tatasusunan ialah "[]" dan bukannya ".". Gunakan "[]" untuk menamakan nilai rentetan atribut, yang dinamik dan boleh ditukar semasa masa jalan, bukannya pengecam "."

Contoh:

var stock_name= get_stock_name_from_user();//从用户处获取股票名
  var share= get_number_of_shares();//得到股票数量
  portfolio[stock_name]= share;//动态地创建数组股票,并为每支股票赋值
  将该例子与for/in循环一起使用,当用户输入了他的投资组合,可以计算当前总值
  var value= 0;
  for (stock in portfolio) {
    value +=get_share_value(stock)*portfolio[stock];
  }

Deposit saham dan keluarkan nama setiap saham.       

Portfolio[stok] mendeposit dan mengeluarkan kuantiti setiap stok.

gelung untuk masuk

Fungsi: Lintas atribut objek dan ekstrak kedua-dua nama atribut dan nilai atribut

var obj = {
 "key1":"value1",
 "key2":"value2",
 "key3":"value3"
};
function EnumaKey(){
 for(var key in obj ){
  alert(key);
 }
}
function EnumaVal(){
 for(var key in obj ){
  alert(obj[key]);
 }
}
EnumaKey(obj)
//key1 key2 key3
EnumaVal(obj)
//value1 value2 value3

Tatasusunan juga boleh dilalui dengan cara ini, tetapi ia tidak disyorkan kerana susunan tidak boleh dijamin, dan jika atribut ditambahkan pada prototaip Tatasusunan, atribut ini juga akan dilalui.

Gelung For-in hendaklah digunakan untuk melintasi objek bukan tatasusunan Menggunakan for-in untuk gelung juga dipanggil "penghitungan".

Secara teknikal, anda boleh menggunakan gelung untuk masuk ke atas tatasusunan (kerana tatasusunan ialah objek dalam JavaScript), tetapi ini tidak disyorkan. Kerana jika objek tatasusunan telah dipertingkatkan dengan fungsi tersuai, ralat logik mungkin berlaku. Selain itu, dalam for-in, susunan (urutan) senarai atribut tidak dijamin. Oleh itu, sebaiknya gunakan gelung normal untuk tatasusunan dan gelung untuk masuk untuk objek.

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