Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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_Function_Loops_Calculator - Fatal编程技术网

Javascript 创建简单计算器

Javascript 创建简单计算器,javascript,function,loops,calculator,Javascript,Function,Loops,Calculator,我试图解决一个问题,它涉及到使用基本循环、函数和条件。我得到的信息如下: // TODO: complete program console.log(calculate(4, "+", 6)); // Must show 10 console.log(calculate(4, "-", 6)); // Must show -2 console.log(calculate(2, "*", 0)); // Must show 0 console.log(calculate(12, "/",

我试图解决一个问题,它涉及到使用基本循环、函数和条件。我得到的信息如下:

// TODO: complete program

console.log(calculate(4, "+", 6));  // Must show 10
console.log(calculate(4, "-", 6));  // Must show -2
console.log(calculate(2, "*", 0));  // Must show 0
console.log(calculate(12, "/", 0)); // Must show Infinity
这是我的尝试(当然不行)。有谁能给我一点指点,说明我做错了什么

函数计算(n1、n2、n3){
让计算
如果n2=“+”{
(计算=+)
};
否则,如果n2=“-”{
(计算=-)
};
如果n2=“*”,则为else{
(计算=*)
};
否则{
(计算=/)
};
设acalc=(n1+n2+n3);
返回acalc;
}
log(计算(4,“+”,6));//必须出示10张
console.log(计算(4,“-”,6));//必须显示-2
console.log(计算(2,“*”,0));//必须显示0

console.log(计算(12,“/”,0));//必须显示无穷大
不能将变量设置为等于运算符。您的
if
块应该如下所示:

if (n2 == "+") {
  return parseInt(n1) + parseInt(n3);
};

使用
parseInt
如果传递的是字符串而不是数字

我将接受n2参数中给定的输入,并直接返回计算结果。代码中的()也有一些问题

function calculate(n1, n2, n3) {
if (n2 == "+") {
    return n1 + n3;
} else if (n2 == "-") {
    return n1 - n3;
} else if (n2 == "*") {
    return n1 * n3;
} else {
    return n1 / n3;
}; };

您遇到的意外结果是什么?我得到的错误是“意外标识符”,控制台中没有显示任何内容。在比较n2时,您需要使用
==
。当前您正在使用赋值运算符
=
。您的
if
语句
(calc=/)
或ifs中列出的任何语句都是无效的表达式。存在许多基本语言和语法问题-if/else语句上使用分号,使用赋值运算符代替相等检查(
=
vs
=
==
)此外,if块后面的分号是完全不必要的,如果尝试执行
else
,则语法错误也是不必要的。此外,比较运算符是
==
而不是
=
。除非执行复杂的计算,否则也不需要对赋值进行排序……是的,OP可能应该在后面在做更复杂的事情之前,我需要一个熟悉语法的教程。谢谢@我正在学习咖啡,因此这个练习Sacha。很好,这可能是我首先需要做的,谢谢!