不知道我在这里做错了什么,但我试图访问我脚本中其他地方的数组中的项目。
这是我传入对象(在DOM中)的地方:
App.config({
dependencies: {
'html5shiv' : 'http://html5shiv.googlecode.com/svn/trunk/html5.js',
'respondjs' : 'http://respondjs.googlecode.com/svn/trunk/respond.js'
}
});
然后创建一个空数组,并将dependencies对象中的每个项目都推入其中。然后我想在我的脚本中进一步遍历这个 deps 数组,但它实际上在控制台上打印 [] 为空,除非我在 for in 循环。任何人都可以建议我如何在其他地方访问这些项目?
var deps = [];
App.config = function (obj) {
for (var key in obj.dependencies) {
deps.push(key);
}
};
console.log(deps);
理想情况下我想做,这是一个http://jsfiddle.net/WJh4E/:
for (var i = 0; i < deps.length; i++) {
console.log(deps[i]);
}
提前致谢。
答案 0 :(得分:0)
你必须实际调用该函数。在console.log之前添加它:
App.config();
你在那里所做的只是声明函数并将其分配给变量。
答案 1 :(得分:0)
首先,您必须声明并实例化App
。
请在下面看到以下代码:
var deps = [];
var App= new Object();
App.config = function (obj) {
for (var key in obj.dependencies) {
deps.push(key);
}
};
App.config({
dependencies: {
'html5shiv' : 'http://html5shiv.googlecode.com/svn/trunk/html5.js',
'respondjs' : 'http://respondjs.googlecode.com/svn/trunk/respond.js'
}
});
console.log("deps::"+deps);
for (var i = 0; i < deps.length; i++) {
console.log("deps[i]::"+deps[i]);
}
请在此处查看工作小提琴:http://jsfiddle.net/9xUk4/