我正在开发一个包含大量JavaScript和jQuery代码库的网站,我试图给它一个更有条理的插件式结构。我read an article展示了如何使用自动执行的匿名函数来帮助范围,它还允许您的库使用“window.namespace = window.namespace || {}”技术在文件中增长。
例如:
//Self-Executing Anonymous Function:
(function( skillet, $, undefined ) {
//Private Property
var isHot = true;
//Public Property
skillet.ingredient = "eggs";
//Public Method
skillet.fry = function() {
// do stuff...
};
//Private Method
function addItem( item ) {
// do stuff...
}
}( window.skillet = window.skillet || {}, jQuery ));
演示:jsFiddle
我的问题是,我如何在skillet.fry()下添加一个公共方法。所以我可以打电话给像skillet.fry.cancel();
或者,如果有更好的方法,我愿意接受建议。
答案 0 :(得分:1)
你可以尝试这样的事情。它允许您声明that
闭包中可用的其他变量(以及cancel()
)。
skillet.fry = (function() {
var that = {};
that.cancel = function() {
//...
}
return that;
})();