1、第一个for...in的js代码:<script type="text/javascript">var xvar mycars = new Array()mycars[0] = "刘德华"mycars[1] = "梁朝伟"mycars[2] = "金城武"for (x in mycars){document.write(mycars[x] + "<br />")}</script>输出的结果:刘德华梁朝伟金城武我们知道in在英文里面是在...之内,我们可以把上面学x in mycars理解为x在mycars内,其实x变量就是控制mycars内部索引值。一个形象的比喻:x可以比做汽车的方向盘,mycars比做一部车,你要车开往哪里,就必须用方向盘来控制。
2、再看下面一个js代码:<body><p>点击按钮循环对象属性。<挢旗扦渌;/p><button onclick="myFunction()">点我</button><p id="demo"></p><script>function myFunction() { var person = {fname:"John", lname:"Doe", age:25}; var text = ""; var x; for (x in person) { text += person[x] + " "; } document.getElementById("demo").innerHTML = text;}</script></body>仔细对比上面代码,你会发现有两点不同:1)一个是数组,另一个是对象2)形式上有区别,你会发现一个的索引值下标标明例如mycars[0] = "刘德华"另一个却没有标明例如fname:"John"但其实两者的x本质是一样,都是用来控制它们in后面变量(mycars,person)的索引值。其实你可以这样理解person[x]是person[1]时,text为John+空格,下面以此类推