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