我得到这个错误:Property 'myFunction' of object [object Object] is not a function
Property对象的“myFunction的”的翻译:不是一个函数
myFunction= (function(){
//something
})();
myFunction();
什么错在这里的?我可以再次拨打我的自动执行功能吗?如果我在自我执行功能中使用var,这也不起作用。
我得到这个错误:Property 'myFunction' of object [object Object] is not a function
Property对象的“myFunction的”的翻译:不是一个函数
myFunction= (function(){
//something
})();
myFunction();
什么错在这里的?我可以再次拨打我的自动执行功能吗?如果我在自我执行功能中使用var,这也不起作用。
通过包装括号
(function(){
// do something
})();
你正在创建一个被立即执行函数表达式的函数调用。函数表达式的结果将被分配给您的变量myFunction
你可能想是这样的:
var myFunction = (function(){
return {
doStuff : function(myVariable){
// do stuff
}
};
})();
这将创建一个分配给myFunction
变量返回的对象。其中该返回对象的属性是doStuff
这是一个函数,变量,你可以调用像
myFunction.doStuff('hello world');
非常感谢! – user3318525
您正在将返回值指定为myFunction
。如果你的返回值不是函数,那么myFunction
不是函数,你不能调用它。
如果你想存储稍后再次执行它的功能,你不想自动执行的函数表达式:
myFunction= function(){
//something
};
myFunction();
我想运行它,因为我想使ajax非异步 – user3318525
这与使其自行执行无关。 – meagar
var myFunction = function(){};
myFunction();
你必须创建一个函数来调用。自调用闭包不返回函数。
我想运行它,因为我想使ajax非异步 – user3318525
在这种情况下不需要关闭。看看jQuery ajax api和asynch = false设置 – TGH
我使用Angularjs – user3318525
你的函数体没有返回的功能。 –
你将不得不更清楚你认为这涉及到AJAX还是“非异步”。没有任何迹象显示你的假设是正确的;你发布的代码与AJAX无关,并且使一个函数自动执行并不会使它“非异步”。 – meagar