我正在努力学习oops概念,下面我想要计算一些东西。
(function(){
var rectangle= {
specs: function(length, width){
length= length;
width= width;
this.calculate();
},
calculate: function(){
//How can i refer here the diameter and height passed in the specs method above
console.log(length * width)
}
};
rectangle.specs(10, 20);
})();
感谢
答案 0 :(得分:0)
您可以采用以下两种方式之一,具体取决于调用specs方法后变量的可访问性。
第一种方法,如果您希望变量仅包含在您列出的方法中,则只需将参数传递给您调用的第二个方法。编辑被**:
包围(function(){
var rectangle= {
specs: function(length, width){
length= length;
width= width;
this.calculate(**length, width**);
},
calculate: function(**length, width**){
//How can i refer here the diameter and height passed in the specs method above
console.log(length * width)
}
};
rectangle.specs(10, 20);
})();
第二种方法使变量分配给对象,因此可以使用rectangle.length或rectangle.width在对象外部访问,或者在内部使用" this"关键词。编辑被**:
包围(function(){
var rectangle= {
specs: function(length, width){
**this.length** = length;
**this.width** = width;
this.calculate();
},
calculate: function(){
//How can i refer here the diameter and height passed in the specs method above
console.log(**this.length * this.width**)
}
};
rectangle.specs(10, 20);
})();