是否可以从同一原型对象中的另一个属性创建属性?

时间:2017-10-28 23:40:58

标签: javascript

编码新手: 我试图在Javascript中做这样的事情:

function Calculator(a,b){
 this.a=a;
 this.b=b;
 this.c=a*b;
 this.d=c;
}

var myTiCalc = new Calculator(1,2);
alert(myTiCalc.d);

所以它打印" d"在警报框中。但是我一直得到一个" Nan"在警报中。

欣赏您的专业知识!

2 个答案:

答案 0 :(得分:2)

您需要指定var c

或者你可以this.d = this.c;



function Calculator(a,b){
 this.a=a;
 this.b=b;
 this.eg = a*b;
 var c = a*b;
 this.d=c;
 this.d2 = this.eg;
}

var myTiCalc = new Calculator(1,2);
console.log(myTiCalc.d);
console.log(myTiCalc.d2);




答案 1 :(得分:2)



function Calculator(a,b){
 this.a=a;
 this.b=b;
 this.c=a*b;
 this.d=this.c;
}

var myTiCalc = new Calculator(1,2);
alert(myTiCalc.d);




在第5行,你放this.d=c;而不是this.d=this.c。变量c未在任何地方定义。我认为您需要将属性c分配给Calculator对象的d,因此您需要使用this关键字对其进行调用。