我喜欢将我的 javascript 分成类文件。我最近遇到需要能够通过点符号为另一个 javascript 文件访问中的函数提供回调函数,因为该函数是对象的一部分。
例如,如果我有一个名为 MyObject 的对象,它有一个名为 doSomething 的函数,我想为 doSomething 函数设置一个回调,但我正在另一个类文件中创建该对象的实例,然后我传递了我的回调对于类文件,它在该范围内运行,而不是在原始文件的范围内。
FirstObject = function(options){
var FirstObject = this;
FirstObject.something = "somevalue";
FirstObject.MyObject = new MyObject();
FirstObject.MyObject.doSomething(param1, function(){//I need to be able to reference FirstObject.something here});
}
我知道我可以通过在第二个事件中触发一个事件来做到这一点,例如:$(document).trigger("doSomething-Finished")
并在原始文档中监听这个,但我希望有更直接的访问权限。我觉得这一定是可能的,因为这适用于 jQuery 回调。
我已经看到了这个问题的答案:做 OO javascript 回调时的范围
但我真的不明白他在解决方案中到底在做什么,以及如何针对我的具体情况实施它。