我正在尝试添加一个高度方法,但现在当我在没有()
的情况下调用它时。
我如何使用它作为benji.height()
方法的方法?我的意思是最后用括号?
function Dog() {
this.tail = true;
this.height = 33;
}
var benji = new Dog();
var rusty = new Dog();
Dog.prototype.height = function() {
return "the height is " + this.height + " cms";
};
console.log(benji.height);
答案 0 :(得分:1)
您有一个名为height
的字段,并且您正在尝试添加名为height
的方法
你需要给它一个明确的名称,它会起作用。
function Dog() {
this.tail = true;
this.height = 33;
}
var benji = new Dog();
var rusty = new Dog();
Dog.prototype.getHeight = function() {
return "the height is " + this.height + " cms";
};
document.body.innerHTML = "<b>height:</b> " + (benji.height) + "<br/>";
document.body.innerHTML += "<b>getHeight():</b> " + benji.getHeight();
答案 1 :(得分:1)
所以你在对象和对象原型中都有高度变量。因此,根据原型链,它将首先在Object中查找,然后在原型中查找。
这里
function Dog() {
this.tail = true;
this.height = 33;
}
高度变量将存储在对象中因此它将找到高度,这不是您无法调用benji.height();
的原因的函数
因此,其他用户建议只需更改您可以根据需要调用它的函数名称。