JavaScript对象属性显示问题
嗨,我在这里尝试建立一个基本的计算系统,当我进行计算时,例如,我在第一个提示符中输入JavaScript对象属性显示问题,javascript,Javascript,嗨,我在这里尝试建立一个基本的计算系统,当我进行计算时,例如,我在第一个提示符中输入1,1,然后在第二个提示符中输入add,该提示符通过我的开关调用things.add(1,1),它们在控制台中工作,但最终结果在打印我的文档中的计算结果时未按预期显示。写入 var nums = prompt("please enter the numbers you wish to calculate separated by a comma. eg 1,3").split(",").map(function(
1,1
,然后在第二个提示符中输入add
,该提示符通过我的开关调用things.add(1,1)
,它们在控制台中工作,但最终结果在打印我的文档中的计算结果时未按预期显示。写入
var nums = prompt("please enter the numbers you wish to calculate separated by a comma. eg 1,3").split(",").map(function(t){return parseFloat(t);});
var choice = prompt("what do you wish to do with the numbers: "+nums +" your choices are: add, subtract, multiply, divide").toLowerCase();
var things = {
total: 0,
getTotal: function getTotal() {
return this.total;
},
add: function add(a, b) {
this.total = parseFloat(a + b);
},
subtract: function add(a, b) {
this.total = parseFloat(a - b);
console.log(things.total);
},
multiply: function add(a, b) {
this.total = parseFloat(a * b);
console.log(things.total);
},
divide: function add(a, b) {
this.total = parseFloat(a / b);
console.log(things.total);
},
};
document.write("<h3>Calculations</h3><br>");
document.write("<p>you have elected to "+choice +" the numbers "+nums[0]+" and "+nums[1]+"</p>");
document.write("<p>the answer is: " + things.getTotal()+"</p>");
switch(choice) {
case 'add':
things.add(nums[0],nums[1]);
break;
case 'multiply':
things.multiply(nums[0],nums[1]);
break;
case 'subtract':
things.subtract(nums[0],nums[1]);
break;
case 'divide':
things.divide(nums[0],nums[1]);
break;
default:
console.log("nothing entered!");
break;
}
var nums=prompt(“请输入您希望计算的数字,以逗号分隔。例如1,3”).split(“,”).map(函数(t){return parseFloat(t);});
var choice=prompt(“您希望对数字做什么:“+nums+”您的选择是:加、减、乘、除”).toLowerCase();
变量事物={
总数:0,
getTotal:函数getTotal(){
返回这个.total;
},
添加:功能添加(a、b){
this.total=parseFloat(a+b);
},
减法:函数加法(a,b){
this.total=parseFloat(a-b);
console.log(things.total);
},
乘法:函数加法(a,b){
this.total=parseFloat(a*b);
console.log(things.total);
},
除法:函数加法(a,b){
this.total=parseFloat(a/b);
console.log(things.total);
},
};
文件。编写(“计算
”;
文件。写(“您已选择“+choice+”数字“+nums[0]+”和“+nums[1]+””);
写(“答案是:“+things.getTotal()+””;
开关(选择){
案例“添加”:
添加(nums[0],nums[1]);
打破
“乘法”情况:
乘法(nums[0],nums[1]);
打破
“减法”格:
减法(nums[0],nums[1]);
打破
“除名”一案:
除法(nums[0],nums[1]);
打破
违约:
log(“未输入任何内容!”);
打破
}
我不确定我是否在这里使用了所有正确的术语,因为我还在学习,但我希望如果我意外地将一个方法称为对象或其他任何情况,您可以看到这个问题,而不会挂断电话。非常感谢。在计算实际发生之前,您正在输出东西。getTotal()
。将switch语句移到三个document.write()
语句上方,它应该可以工作。在计算后打印值(document.write(答案是:“+things.getTotal()+””;
)
啊,我现在觉得自己很傻。谢谢你,好先生。谢谢你的帖子,正如lex82所指出的,这确实是个问题。包括输入、预期输出和实际输出的例子会很有帮助。