JS中for...in 语句用于对数组或者对象的属性进行循环操作吗?

JavaScript024

JS中for...in 语句用于对数组或者对象的属性进行循环操作吗?,第1张

是的

for(variable in object)

object为null、undefined,javascript会跳过循环执行后面的代码,在ECMAScript3中可能会抛出类型错误异常

object为原始值,会转换为与之对应的包装对象

若为对象类型,javascript会依次枚举对象的属性来执行循环,在每次循环前,javascript都会先计算variable表达式的值,并将属性名(一个字符串)赋值给它

例子

var obj = {type:'human',history:'300000years',use:'example'}

var arr2 = [],i=0

for(arr2[i++] in obj) /*empty*/

console.log(arr2) //["type","history","use"]

var arr,str=""

意图并不是让arr的值成空,而是初始化变量~并且如果已经声明过的话,就初始化值为空。

for( arr in myArray){

这是一个数组的遍历~ arr只是这个循环里面的内部变量,表示数组的键值。

第一次是0 ,第二次是1 。。。一直到数组的最大键值 4.然后跳出循环。

alert(str) //这样alert,你就能看到arr每次的值~

for..in是用来遍历对象的,跟for循环差不多,var obj = { a:"A", b:"B", c:"C" }

for(var i in obj){ 

    console.log( i, obj[i] ) 

//a  A   

//b  B

//c  C