【发布时间】:2011-10-30 10:56:10
【问题描述】:
好像没看懂JavaScript中in关键字的意思。
看看这段代码 sn-p (http://jsfiddle.net/3LPZq/):
var x = [1,2]
for(i in x){
document.write(x[i]);
}
在 jsfiddle 中运行时,它不仅会打印数组中包含的值,还会打印数组对象的所有属性和方法。
当我这样改变它时(http://jsfiddle.net/4abmt/):
$(document).ready(function(){
var x = [1,2]
for(i in x){
document.write(x[i]);
}});
它只打印值 1 和 2。
为什么会这样?这是由 jQuery 引起的还是 in 关键字的行为取决于文档是否已完全加载?
【问题讨论】:
-
在您的第一个示例中,您选择了 Mootools 作为库(这似乎扩展了原型)。如果不选择任何库,则结果为:jsfiddle.net/fkling/3LPZq/6。但请注意,使用
for...in遍历数组是不好的做法。
标签: javascript jquery arrays iteration