关于for..in 和for的区别

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<meta name="description" content="" />
<meta name="keywords" content="" />
<script>
/*for..in语句

对应于一个对象的每个,或一个数组的每个元素,执行一个或多个语句。 

for (variable in [object | array]){
  statements 
}

参数
variable

必选项。一个变量,它可以是 object 的任一属性或 array 的任一元素。 

object, array

可选项。要在其上遍历的对象或数组。

statement

可选项。相对于 object 的每个属性或 array 的每个元素,都要被执行的一个或多个语句。可以是复合语句。

说明

在循环的每次迭代前,variable 被赋予 object 的下一个属性或 array 的下一个元素。然后可以在循环内的任一语句中使用它,就好像正在使用 object 的该属性或 array 的该元素一样。

当在一个对象上迭代时,没有办法决定或控制把对象的成员赋给 variable 的次序。在数组内将按元素的次序执行迭代,也就是,0、1、2、......(??)


*/
var i=0;
var obj={
name:"jon",
age:"18",
}

for(i in obj){
    //document.write(i+"<br/>"); //遍历的是对象的属性 i输出的结果 name age
    //document.write(obj[i]+"<br/>"); //遍历的是属性对应的值 输出结果是 jon 18
} 

for(i=0;i<2;i++){
    document.write("i="+i+"对象"+obj[i]);  //for语句则会输出undefined
}
</script>
</head>
<body>

</body>
</html>
    

 

posted on 2015-11-02 08:59  源人  阅读(205)  评论(0)    收藏  举报

导航