【发布时间】:2012-06-25 08:03:49
【问题描述】:
我尝试写一个javascript Self-Executing Anonymous Function
window.App = window.App || {}
(function (global) {
global.test = function () {
console.log('test');
}
})(App);
$(function () {
App.test();
})
但是火虫告诉我:({}) is not a function
然后我尝试将(app) 移入,例如:
(function (global) {
global.test = function () {
console.log('test');
}
}(App));
那么萤火虫告诉我:
App is not defined
那么我的代码有什么问题?我怎样才能以正确的方式做到这一点?
这里是demo
【问题讨论】:
-
这段代码对我来说有点奇怪,所以我不会提供答案,但第一行的大括号之间不应该有一些代码吗?
-
@JezenThomas 不,{} 只是创建空对象的一种方式。您可以看到它作为 global 传递到函数中,并在该函数上定义了一个方法 test。
-
这是一个很好的例子,可以解决在野外插入分号的问题。孩子们,永远不要忘记你的分号!
-
非常有趣。好问题;不知道为什么它被否决了。 +1
标签: javascript function anonymous