Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript将除法(/)检测为加法(+;)_Javascript_Javascript Objects - Fatal编程技术网

Javascript将除法(/)检测为加法(+;)

Javascript将除法(/)检测为加法(+;),javascript,javascript-objects,Javascript,Javascript Objects,我正在尝试使用对象制作一个基本的、基于javascript的计算器。出于某种原因,“calculator.divide”属性似乎返回两个数字的加法 我曾在在线编译器(js.do&code.sololearn.com)和记事本中尝试过这一点,但它似乎不起作用 var n1 = +(prompt("Enter 1st number:")); var n2 = +(prompt("Enter 2nd number:")); //gets user input & declares variab

我正在尝试使用对象制作一个基本的、基于javascript的计算器。出于某种原因,“calculator.divide”属性似乎返回两个数字的加法

我曾在在线编译器(js.do&code.sololearn.com)和记事本中尝试过这一点,但它似乎不起作用

var n1 = +(prompt("Enter 1st number:"));
var n2 = +(prompt("Enter 2nd number:"));
//gets user input & declares variables
//+ for changing string to integer
var calculator = {
 add: (n1 + n2), subtract: (n1 - n2), multiply: (n1 * n2), divide: (n1 / n2)
};
var operation = prompt("enter an operation: add, subtract, multiply, or divide");
if (operation = "add") {
    document.write(calculator.add);
}
else if (operation = "subtract") {
    document.write(calculator.subtract);
}
 else if (operation = "multiply") {
    document.write(calculator.multiply);
}
 else if (operation = "divide") {
    document.write(calculator.divide);
}
例如,如果我输入6作为第一个数字,输入2作为第二个数字,我的理解是,当访问“calculator.divide”时,它将输出“3”。情况似乎并非如此。相反,它输出“8”,就好像它正在添加它们一样。

(operation=“add”)
是错误的,它必须是
(operation==“add”)
。如果
的其余部分也是一样的。它不是进行比较,而是赋值

var n1=+(提示(“输入第一个数字:”);
变量n2=+(提示(“输入第二个数字:”);
//获取用户输入并声明变量
//+用于将字符串更改为整数
变量计算器={
加:(n1+n2),
减去:(n1-n2),
乘:(n1*n2),
除:(n1/n2)
};
var操作=提示(“输入操作:加、减、乘或除”);
如果(操作==“添加”){
文件。编写(计算器。添加);
}else if(操作==“减法”){
文件。写(计算器。减法);
}else if(操作==“乘法”){
文件。写入(计算器。乘法);
}else if(操作==“除法”){
文件。写(计算器。除法);

}
您正在if语句中将操作设置为“添加”。您好,欢迎使用堆栈溢出。您应该学习如何调试应用程序,然后自己调查问题并提供更多上下文信息。可能会有帮助。:)