我正在使用同事写的一些JavaScript,需要覆盖另一个脚本文件中的一个功能,该功能将在第一个文件后加载。
我认为问题是我要覆盖的功能是立即函数中返回对象的一部分。也许和榜样会有所帮助。结构看起来像这样:
(function(){
// stuff here
$.obj=(function(){
var initialized=false;
return {
init:function(){ \ stuff here}
}
}()
})();
在我的替代中,我想做类似的事情:
$.obj.init = function(){
// different implementation but with access to value of 'initialized'
}
有办法可以实现自己想做的事情吗?
您需要使私有变量获得可靠:
(function(){
// stuff here
$.obj=(function(){
this.initialized = false;
return {
init:function(){ \ stuff here}
}
}()
})();
因此,您可以稍后访问:
$.obj.init = function(){
// different implementation but with access to value of 'initialized'
this.initialized = true;
}
,请注意,要为此,您需要创建一个对象。我的意思是,您需要这样致电obj
:
var newObj = new $.obj();