if/else 定义函数中的正负
if/else defines plus or minus in function
我有两个几乎相同的函数。它们之间的唯一区别是一个有+
,一个有-
。这些在每个函数中使用了大约 20 次,所以我很乐意用 var 来简化它。
我对 JavaScript 还很陌生,所以我不知道从哪里开始,但像这样:
if ( blah blah ){
var symbol = '-';
} else{
var symbol = '+';
}
var example = value1 [symbol] value2;
谢谢
使用这个:
var modifier = (blah blah) ? 1 : -1;
var example = value1 + (modifier * value2);
您可以定义一个包含函数的对象,由运算符键控。像这样:
var operations = {
'+': function(a, b) { return a + b; },
'-': function(a, b) { return a - b; }
}
var x = operations[condition ? '+' : '-'](value1, value2);
我认为@darthmaim有最好的方法,但这取决于您是否需要使用其他运算符,例如 *
、/
或 %
。
为什么不这样:
if ( blah blah ){
var example = value1 - value2;
} else{
var example = value1 + value2;
}
好吧,你可以使用 eval
,但我会使用这样的函数:
var op;
if (condition) {
op = function(a, b) { return a - b; };
} else {
op = function(a, b) { return a + b; };
}
var example = op(value1, value2);
var math = {
'+' : function(x,y) {return x + y;},
'-' : function(x,y) {return x - y;}
}
var usePlus = true;
math[usePlus ? '+' : '-'](1,2) // returns 3
相关文章:
- 如果在构造函数内部为else,则Javascript是可选的
- geoTest函数-创建if/else语句
- 在一个函数中,我有一个未捕获的语法错误:意外的标记else
- 成功ajax:如果是200状态代码,则运行函数else另一个函数
- 意外的“else”和函数未运行
- 用于筛选数据的函数--if.else语句
- 正在创建嵌套的if+else-if语句,但函数返回为未定义
- 我的if和else-if逻辑中的问题以及两个函数的冲突
- 调用If Else语句中的JavaScript函数
- 我的函数跳过if-then-else语句
- 如何在函数中编写 if/else 语句,告诉我一个数字是否可以被 2 整除(在 javascript 中)
- 如果else为Angular,则使用ng click函数重复ng
- jQuery else 函数不起作用
- Javascript函数尽管满足“if/else”,但仍未执行
- if/else 定义函数中的正负
- 设置一个 if else 函数来检测它是否是元音
- if 和 else-if 语句拒绝在 jQuery 的 AJAX 函数中工作
- Javascript 函数.可变结果.为什么未定义或没有 如果 else 语句函数
- 为什么此函数的 else 部分不会执行
- 循环 JS 函数,直到满足 if 或 else 条件