我有一个使用文字符号定义的对象如下(使用的示例代码)。这是在外部脚本文件中。
if (RF == null) var RF = {};
RF.Example= {
onDoSomething: function () { alert('Original Definition');} ,
method1 : function(){ RF.Example.onDoSomething(); }
}
在我的.aspx页面中,我有以下内容..
$(document).ready(function () {
RF.Example.onDoSomething = function(){ alert('New Definition'); };
RF.Example.method1();
});
当页面加载document.ready时,会调用alert('Original Definition');
,但只会显示onDoSomething
。有人能指出我正确的方向。我基本上想要重新定义method1
函数。谢谢,本。
修改
感谢您的评论,我看到这是有效的。 onDoSomething()
实际调用另一个将method1 : function(){
RF.Example2.callbackFunction(function() {RF.Example.onDoSomething();});
}
函数作为回调参数的方法是否重要? e.g。
{{1}}
答案 0 :(得分:1)
引用的代码应该可以使用(并且:http://jsbin.com/uguva4),所以除了问题之外的其他内容导致此行为。例如,如果您使用任何类型的JavaScript编译器(如Closure)或缩小器或其他东西,名称可能会被更改,这种情况下您在旧版本时添加新的onDoSomething
已重命名。或者,也许警报是由其他东西触发的,而不是你认为触发它的东西。或者其他东西可能已经抓住了对旧onDoSomething
的引用(也许是外部脚本中的其他地方)并直接使用它,如下所示:http://jsbin.com/uguva4/2。
答案 1 :(得分:0)
感谢您的回复..最后答案与发布的代码无关。干杯验证我不会疯狂。