我想用“子模块”之类的方式组织我的JavaScript对象,我这样写:
'use strict';
var APS = (function () {
var dashboard = (function () {
var onReady = function () {
alert(2);
};
return {
onReady: onReady
}
});
var onReady = function () {
alert(1);
dashboard.onReady(); // does not work
};
return {
onReady: onReady,
}
})();
$(document).ready(APS.onReady);
alert(1)
可以工作,dashboard.onReady()
不能工作,并且我收到以下错误消息:未捕获的TypeError:dashboard.onReady不是函数
我想在APS下面的不同“子包”中组织我的代码,以使代码具有层次感。我该如何实现?
最佳答案
dashboard
本身是一个尚未返回包含onReady
的对象的函数。
通过添加另一个()
来完成IIFE:
var dashboard = (function () {
var onReady = function () {
alert(2);
};
return {
onReady: onReady
}
})(); // Calls as IIFE
或者使用
dashboard().onReady
代替。