我可以在Javascript中为'if'查询使用变量吗?

时间:2013-10-16 15:14:46

标签: javascript

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

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

5 个答案:

答案 0 :(得分:4)

绝对

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

if (query) {
  //statement true;
}

请注意(val!=='CLOSED' || val!=='OFF' || val!=='Off')并没有多大意义。例如,它将评估为true字符串'OFF'

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

答案 1 :(得分:2)

你可以,但你的语法必须正确:

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

注意query

周围的括号

答案 2 :(得分:2)

如果变量会改变,你可以使用函数。

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

if (checkVariable(variable)) {}

如果没有,那么只需将语句值赋给变量并再次使用它。

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

答案 3 :(得分:0)

没有。

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

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

if (result) {
//statement true;
}

...但如果val要改变,那就不会重新评估这些陈述。因此,每次重复测试都不一样。

你可以使用一个功能。

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

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

答案 4 :(得分:0)

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