好吧,考虑到以下我不想修改的 Javascript
代码:
(function () {
function iWantToCallThis(){
// Do some stuff
}
window.SomeObject = {
theirfunc = function(){
// Do some stuff
},
otherFuncIDontWantToCall = function(){
// This works, but don't want to call this function.
iWantToCallThis();
// does other stuff
}
}
}());
如何通过 SomeObject 的范围访问 iWantToCallThis()
,如下所示:
window.SomeObject.theirfunc = (function (func){
iWantToCallThis();
func.apply(this, arguments);
} (win.SomeObject.theirfunc));
即使我认为该函数 - 技术上 - 在其原始范围内运行,但我无权访问 iWantToCallThis()
。有没有办法在不编辑原始源代码的情况下访问该功能?
谢谢!
最佳答案
马修
恕我直言,Douglas Crockford 的“Private Members in JavaScript”是关于此主题的权威文章。
它应该有助于说服您,除非通过特权方法,否则外部无法访问私有(private)成员。
关于javascript - 在对象的原始范围内调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16491078/