我有一个函数,我想知道索引的值是什么。然而它给了我0。我认为这很奇怪,所以我在function()中放入一个console.log来查看它是否正在执行,我没有收到一个告诉我函数()没有被调用的输出。不知道我做错了什么。
function jsTest() {
var index = 0;
var counter = 0;
var obj = {};
obj.index = index; //obj.index = 0 at this point
var func = function () {
for (index = 0; index < 10; index++) {
counter += 2;
console.log(counter); //Doesn't execute for some reason
}
obj.index++;
};
obj.func = func; //executes function()
this.index++;
return index;
}
var x = jsTest();
console.log(x);
答案 0 :(得分:3)
obj.func = func;
实际上并不调用func,它会将func
的属性obj
指定为函数func
。如果您想拨打func
,则应在之后添加括号,例如
obj.func = func();