我在理解JavaScript的OOP方面存在基本缺陷。我的理解是,我可以让类像这样如何在另一个对象方法中引用对象方法
var Car = function(){}
Car.prototype.GetBrand = function(){ return "Ford";}
Car.prototype.GetYear = function(){ return "1989";}
var ford = new Car();
ford.GetBrand();
ford.GetYear();
这个工程... 现在我想实现一个功能的GetInfo,这应该打印出品牌&日期
我怎么可以参考GetBrand ()和GetYear()方法在我的GetInfo()方法中。
This is not working:
Car.prototype.GetInfo = function(){
return this.GetBrand()+ ' '+ this.GetYear();
}
这是不正确的访问... 我怎么会错过吗?
OK编辑: 这是一个简单的例子还有我真的方法调用是anothe功能,这就是为什么我们在谈论另一个范围:
JsonLoader.prototype.GetJsonAndMerge = function(url,template,tagToAppend){
$.ajax({
url: url,
dataType: 'json',
success: function(data) {
this.ShowItems(data,template,tagToAppend);
}
});
}
我试图达到我ShowItems方法...这里而这又是一个函数这也许为什么这个操作符不工作...的混乱对不起=/
那么你的ShowItems方法实际上是什么?你为什么试图用'this'来达到它? – 2011-05-28 13:58:49
Wowzers。这是一个完全不同的问题。为什么您应该测试缩减的测试用例以确保它们仍然显示相同的问题(具有相同的错误消息),这是一个很好的教训。 – Quentin 2011-05-28 14:01:32
@Thomas Shields:ShowItems也是(或者应该是)JsonLoader的成员方法,... JsonLoader.prototype.ShowItems(data,template,tagToAppend) – 2011-05-28 14:05:28