Javascript 如何使用if语句调用函数?
Javascript 如何使用if语句调用函数?,javascript,Javascript,函数计算器(a、b、操作){ if(addNum()){ var result=addNum();//4 console.log(“结果为”+结果); }if(subsNum()){ 结果=subsNum();//2 console.log(“结果为”+结果); }if(multNum()){ result=multNum();//6 console.log(“结果为”+结果); }if(divNum()){ 结果=divNum();//1 console.log(“结果为”+结果); } }
函数计算器(a、b、操作){
if(addNum()){
var result=addNum();//4
console.log(“结果为”+结果);
}if(subsNum()){
结果=subsNum();//2
console.log(“结果为”+结果);
}if(multNum()){
result=multNum();//6
console.log(“结果为”+结果);
}if(divNum()){
结果=divNum();//1
console.log(“结果为”+结果);
}
}
函数addNum(a,b){
返回2+2;
//返回a+b;//为什么不返回?
}
函数subnum(a,b){
返回4-2;
//返回a-b;
}
函数multNum(a,b){
返回2*3;
//返回a*b;
}
函数divNum(a,b){
返回8/8;
//返回a/b;
}
计算器()代码>无需使用if语句调用此语句,因为它会使事情复杂化
有没有可能像这个计算器(addNum(2,5))?如果addNum(a,b)返回a+b
这是可能的,你应该这样做。基本上,您是将一个函数传递给您的计算器函数。因此,它的工作方式类似于->计算器函数
获取包含另一个函数(addNum
,subnum
等)的操作
参数并执行它
function calculator(operation) {
return operation
}
function addNum(a, b) {
return a + b;
// return a + b; //why not?
}
function subsNum(a, b) {
return a - b;
// return a - b;
}
function multNum(a, b) {
return a * b;
// return a * b;
}
function divNum(a, b) {
return a / b;
// return a / b;
}
console.log(calculator(addNum(2,3)));
// returns 5
还有改进代码和重复的空间。但这是另一个故事
如何用参数替换整数(在函数的addNum()
中)
添加a+b而不是2+2的示例)
正如您所说的,您可以使用参数。参数将允许您将变量传递到函数中,以便函数可以使用它们。
例如:
因此,既然addNum
取了2个值(因为有两个参数a
和b
),那么调用函数时必须传递两个数字:
addNum(5,2)代码>
创建一个包含3个参数的函数计算器。前两个
参数是数字。第三个参数,称为操作,是
您将执行的操作
我建议创建一个标志,您可以在其中选择要执行的函数。
例如:
//function call
calculator(2,5,'addition');
// function method
calculator(a,b,flag){
switch(flag) {
case 'addition': addNum(a,b);
break;
...
}}
虽然这会记录结果,calculation
函数在这里只是一个无用的包装器,但您也可以调用console.log(addNum(2,3))
,这就是我提到改进代码的原因。我的示例是为了再次向op保证,op要求将函数作为参数传递是可能的。您好,Krisy,谢谢您的输入。我设法修复了代码,但我在每种情况下都重复console.log,在javascript中这是一条规则,DRY(不要重复你自己)。我阅读了你的评论,这很有意义。非常感谢您的投入。非常爱你!我还对我的代码做了一些修改,你们可以在这里看到:另外,我对你们的代码做了很小的修改。您可以在调用calculator()
函数时获得返回的结果(即答案),然后使用console.log()
函数显示结果,而不是在计算器函数中执行console.log()
(您希望计算器执行的只是计算(而不是显示结果))。看一看代码笔,想知道一个更好的主意谢谢你,现在它看起来更好了!:)尼克诺,你是最好的,很高兴能帮上忙:)
//function call
calculator(2,5,'addition');
// function method
calculator(a,b,flag){
switch(flag) {
case 'addition': addNum(a,b);
break;
...
}}