自执行功能不是函数错误

时间:2014-02-06 03:42:53

标签: javascript jquery angularjs

var module = (function () {
    console.log('hello world');
}());

上述功能在加载时确实有效,意味着它自行执行。但是当我想第二次运行它时,我写了module(),它不起作用,为什么?我不想粘贴整个函数体来再次运行它。

我尝试使用angularjs btw,但$scope.moudule()module()对我有效。

2 个答案:

答案 0 :(得分:1)

自行执行归因的结果,你存储自我执行的结果(在这种情况下什么都不是)。

试试这个:

(module = function () {
    console.log('hello world');
})();

答案 1 :(得分:0)

由于函数没有返回任何module未定义,这就是你得到错误的原因。

解决方案是创建一个函数然后执行它

function module () {
    console.log('hello world');
};
module()

现在module指的是一个可以在以后调用的函数