function Fruits() {
this.Banana = function() {
this.getColor = function(){
return 'yellow';
};
};
this.Apple= function() {
this.getColor = function(){
return 'red';
};
};
}
var apple = new Fruits.Apple();
console.log(apple.getColor());
这不起作用。我在这里想念的是什么?这是使用嵌套方法的“类”的错误方法吗?
由于
答案 0 :(得分:1)
尝试使用:
var apple = new Fruits();
apple.Apple();
console.log(apple.getColor());
答案 1 :(得分:1)
您需要先实例化Fruit。从我的控制台......
var f = new Fruits()
undefined
new f.Apple()
Fruits.Apple
new f.Apple().getColor()
"red"
答案 2 :(得分:1)
静态属性和实例属性之间存在很大差异。 当你宣称Apple是Fruit的一个实例属性时,你必须实现一个Fruit才能实现一个苹果,并且Apple的cronstructor将成为Fruit的一种方法。 如果你想要静态课,你必须做
function Fruits() {
}; Fruits.Apple = function(){
this.getColor = function(){
return 'red';
};
};
答案 3 :(得分:1)
一些好奇心:
var a = new new Fruits().Apple
顺便说一下。也许你想创建类似静态类的东西?
var Fruits = {
Apple:function() {
this.getColor = function(){
return 'red';
};
},
Banana: function() {
this.getColor = function(){
return 'yellow';
};
}
}
然后它会起作用。
var apple = new Fruits.Apple();
console.log(apple.getColor());