Javascript 定义一个可以满足以下代码的类计算器。var cal=新计算器();加上(3,5);//8加上([3,5]);//8.
定义一个可以满足以下代码的类计算器Javascript 定义一个可以满足以下代码的类计算器。var cal=新计算器();加上(3,5);//8加上([3,5]);//8.,javascript,Javascript,定义一个可以满足以下代码的类计算器 var cal = new Calculator(); cal.add(3, 5);// 8 cal.add([3, 5]);// 8 我的代码呢 function Calculator(){ this.p1=p1; this.p2=p2; this.add =function(){ return this.p1+this.p2; } } var cal = new Calculator(); console.log
var cal = new Calculator(); cal.add(3, 5);// 8 cal.add([3, 5]);// 8
我的代码呢
function Calculator(){
this.p1=p1;
this.p2=p2;
this.add =function(){
return this.p1+this.p2;
}
}
var cal = new Calculator();
console.log(cal.add(3, 5));
它无法工作发现差异:
console.log(cal.add(3, 5));
^--^---- two arguments
function Calculator(){
^---zero arguments expected
this.add =function(){
^--- zero arguments, again...
这意味着p1
和p2
未定义。如果您做过任何类型的基本调试,比如检查浏览器的调试控制台,您都会被告知这一点
如果你有
function Calculator(p1, p2) {
或者类似的…您可以为方法E
添加一些参数
函数计算器(){
this.add=函数(p1、p2){
返回p1+p2;
}
}
var cal=新计算器();
控制台日志(校准添加(3,5))代码>在“添加”方法中为p1、p2和可选数组添加参数。您可以使用“arguments”对象检查传入的是两个数字还是一个数组。我肯定有更好的方法,但不确定。
在计算器函数中,执行以下操作:
function Calculator() {
this.p1;
this.p2;
this.add = function(p1, p2, arr) {
var args = arguments;
if(args.length == 2){
this.p1 = p1;
this.p2 = p2;
}else{
this.p1 = args[0][0];
this.p2 = args[0][1];
}
console.log(this.p1 + this.p2);
return this.p1 + this.p2;
}
};
var cal = new Calculator;
cal.add(5, 4); \\logs 9
cal.add([5, 4]);. \\logs 9
未定义参考错误p1。您应该在控制台中看到此消息。什么是p1和p2?还有,你的问题是什么?最好使用计算器.prototype.add
这至少让你将数字或数字数组传递给函数,p1,p2用当前值更新。