对象[object Object]的属性'myFunction'不是函数

时间:2014-02-20 03:15:43

标签: javascript jquery

我收到此错误:Property 'myFunction' of object [object Object] is not a function

myFunction= (function(){
    //something
})();

myFunction();

这里有什么问题?我可以再次调用自动执行功能吗?如果我在自动执行函数中使用var,这也无效。

3 个答案:

答案 0 :(得分:0)

您将返回值分配给myFunction。如果您的返回值不是函数,则myFunction不是函数,您无法调用它。

如果要存储函数以便稍后再次执行它,则不需要自动执行函数表达式:

myFunction= function(){
    //something
};

myFunction();

答案 1 :(得分:0)

var myFunction = function(){};

myFunction();

您必须创建一个要调用的函数。自调用闭包不返回函数。

答案 2 :(得分:0)

将函数调用括在括号中

(function (){ 
    // do something
})();

您正在创建一个立即执行的函数表达式。然后,函数表达式的结果将分配给变量myFunction

你可能想要这样的东西:

var myFunction = (function (){
    return {
        doStuff : function(myVariable){
            // do stuff
        }    
    };
})();

这将创建一个分配给myFunction变量的返回对象。这个返回对象的一个​​属性是doStuff,它是一个函数,它接受一个你可以调用的变量,如

myFunction.doStuff('hello world');
相关问题