Javascript函数不执行/返回值

时间:2015-08-10 19:03:49

标签: javascript

我有一个函数,我想知道索引的值是什么。然而它给了我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);

1 个答案:

答案 0 :(得分:3)

obj.func = func;

实际上并不调用func,它会将func的属性obj指定为函数func。如果您想拨打func,则应在之后添加括号,例如

obj.func = func();