我可以将变量用于';如果';Javascript中的查询?

我可以将变量用于';如果';Javascript中的查询?,javascript,Javascript,如果我有多个点需要使用相同的If语句,我可以使用javascript变量: var query = ((val!=='CLOSED')||(val!=='OFF')||(val!=='Off')); if query { //statement true; } 没有 您可以存储执行测试的结果并重用该结果(尽管if语句确实要求将测试放在括号中): …但如果val发生变化,则不会重新评估语句。因此,这与每次重复测试不同 不过,您可以使用函数 var query = function (val)

如果我有多个点需要使用相同的If语句,我可以使用javascript变量:

var query = ((val!=='CLOSED')||(val!=='OFF')||(val!=='Off'));
if query {
  //statement true;
}
没有

您可以存储执行测试的结果并重用该结果(尽管
if
语句确实要求将测试放在括号中):

…但如果
val
发生变化,则不会重新评估语句。因此,这与每次重复测试不同

不过,您可以使用函数

var query = function (val) {
    return ((val!=='CLOSED')||(val!=='OFF')||(val!=='Off'));
}

if (query(some_value)) {
  //statement true;
}
当然

var query = (val!=='CLOSED' || val!=='OFF' || val!=='Off');

if (query) {
  //statement true;
}

请注意,
(val!='CLOSED'| | val!='OFF'| | val!='OFF')
没有什么意义。例如,对于字符串
“OFF”
,它将计算为
true


您可能想要
!(val='CLOSED'| | val='OFF'| | val='OFF')

您可以,但语法需要正确:

var query = ((val!=='CLOSED')||(val!=='OFF')||(val!=='Off'));
if(query) {
  //statement true;
}

请注意
查询

周围的括号,如果变量发生变化,您可以使用该函数

function checkVariable(variable) {
    return ((variable !== 'CLOSED') || (variable !== 'OFF') || (variable !== 'Off'));
}

if (checkVariable(variable)) {}
若并没有,那个么只需将语句值赋给变量并再次使用它

var result = (variable !== 'CLOSED' || variable !== 'OFF' || variable !== 'Off');
if (result) {}

是的,您可以,但它将始终包含在创建查询变量时计算的值。

为什么不尝试使用它而不是询问堆栈?@Martin-因为该代码不起作用,他们可能已经并且正在询问是否有其他语法可以完成这项工作。为什么不将条件缓存在变量中并使用它呢……但是
query
在OP的代码中是一个布尔值?我承认一开始我也有这种想法谢谢,我想我需要在每种情况下使用该语句,因为它在each()循环中,所以var还没有设置
var result = (variable !== 'CLOSED' || variable !== 'OFF' || variable !== 'Off');
if (result) {}