我把自己弄糊涂了,我的情况如下:
function DesignPad() {
function EditBar() {
...
this.removeHandler = function() {
**// how do I call Dragger.removeAsset**
}
}
function Dragger(){
...
this.removeAsset = function() {}
}
this.init = function() {
this.editBar = new EditBar();
this.dragger = new Dragger();
}
}
var dp = new DesignPad();
...
我似乎不能调用Dragger.RemoveAsset
。我理解为什么,我的问题是我如何调用它?
我试着把类似的东西分开(例如:Dragger / EditBar),但是我的事件处理程序似乎把所有的东西都搞混了。有什么建议,好的阅读材料,等等吗?
4条答案
按热度按时间6rqinv9w1#
我发现Douglas Crockford's Javascript是最好的JavaScript入门。特别是雅虎的视频,比如:The JavaScript Programming Language,在这里你可以了解对象是如何在JS中创建和继承的。
您的问题的解决方案是:
但是正如其他人所注意到的,你可以重构一些东西:)。
nxowjjhe2#
对我来说,它只是看起来像你应该重构代码,使其更简单。
我认为你的问题来自于嵌套函数是私有的,所以你不能从外部访问它。
toe950273#
Dragger的示例是DesignPad对象的“属性”吗?如果是,可以将对该对象的引用传递到removeHandler()方法中。
xa9qqrwz4#
试试这个: