在JS中咱们最多见的循环语句是for
循环语句,一个简单的for
循环语句以下:数组
for(var i = 0, n = 100; i < n; i++){ // to do somethings ... }
不过在JS中还有一种很是实用的循环语句叫for..in
,一般用来遍历数组或对象的属性.prototype
由于发现小伙伴在使用for...in
的时候常常会踩坑,这里再次强调下for..in
语句的释义:code
当使用for...in
遍历数组时,遍历的的每个子项是数组的索引值对象
var arr = ["张三","李四","王五"]; var index; for(index in arr){ console.log(index); } // 0 // 1 // 2
当使用for...in
遍历对象时,每个子项是对象的属性名继承
var obj = { "a":"张三","b":"李四","c":"王五"}; var pro; // pro =property = 属性 for(pro in obj){ // 注意:先判断该属性是不是对象自己实例化时建立的属性? // 若是是对象自己实例化时建立的属性,则输出; // 若是不是,也就存在经过原型(prototype)继承下来的属性,则跳过. var b = obj.hasOwnProperty(pro); if(b){ console.log(pro); } } // a // b // c