2014-02-06 72 views
0
var module = (function() { 
    console.log('hello world'); 
}()); 

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

我试过angularjs btw,但要么$scope.moudule()module()为我工作。

回答

1

自执行归属的结果的功能,要存储的自我执行的结果(在这种情况下不算什么)。

试试这个:

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

每个归属都会返回归因于它自己的内容。标记为已接受,如果它解决了您的问题:) – cvsguimaraes

0

因为该函数没有返回任何东西module是未定义的,这就是为什么你得到的错误。

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

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

现在module是指可以被调用后

+0

着它是自执行第1再后来运行呢? – user3277912

+0

@ user3277912你为什么对自我执行如此特别?声明后可以手动调用它吗? –

+0

@ user3277912尝试http://jsfiddle.net/arunpjohny/ap4ha/2/ –