我想用模块化模式构建我的javascript应用程序,如下:
APP = (function() {
// Private stuff
var _privateVariable = 'private',
_priv = 'priv'
_privateMethod = function(){ /* */ };
// Exposed API
return {
publicVariable : 'public',
publicMethod : function(){
return _privateVariable
};
}());
然后我希望能够通过类似插件的模块扩展应用程序;例如,使用jQuery:
$.extend(true, APP, (function() {
// Child private stuff
var _privateVariable = 'childPrivate',
// Exposed API
return {
}()))
我想要达到的目标之一是:
APP.publicMethod()
时,我想返回'childPrivate'
而不是'private'
; _priv
。总之,我希望父模块中定义的私有变量将作为子级的私有成员在子模块中继承。
答案 0 :(得分:0)
使用这种结构你不能这样做。 看看John Resig关于如何在javascript中实现继承的精彩帖子: http://ejohn.org/blog/simple-javascript-inheritance/