是否可以使用 && 运算符连接 3 个查询?
Is it possible to concatenate 3 queries with the && operator?
我的页面上有一些 JavaScript 检查 indexOf 以在我的 URL 中找到众多字符串之一,然后它执行滚动到页面上设定位置的功能.
我目前正在使用以下代码连接两个条件,但我需要合并第三个条件。当我添加额外的行和额外的 &&
时,我的 JavaScript 失败了。谁能推荐更好的解决方案?
我当前的工作代码:
if (window.location.href.indexOf("search_categories") > -1 &&
window.location.href.indexOf("search_region") > -1) {
// do some stuff
};
失败代码:
if (window.location.href.indexOf("search_categories") > -1 &&
window.location.href.indexOf("search_region") > -1 &&
window.location.href.indexOf("upload-a-cv") > -1) {
// do some stuff
};
我不会称之为串联。双符号表示逻辑 AND 运算符。一般来说,您可以拥有尽可能多的操作数:
operand1 && operand2 && operand3 ...
每个 operand
应该,或者至少应该被评估为布尔值 - true
或 false
。逻辑结果应用于评估的布尔值,如下所示:
逻辑与(&&
)
true && true = true
true && false = false
false && true = false
false && false = false
这意味着如果任何操作数被评估为 false
,则整个评估结果为 false
(true && true && false
最后变为 false
)。
如果您想允许 任何 条件(操作数)使结果为真,则必须使用
逻辑或(||
)
true || true = true
true || false = true
false || true = true
false || false = false
有效地 false || false || false || true
计算为 true
如果你想让某些条件组全部为真,而另一组条件至少有一个为真,你必须将它们分组,使用大括号:
-(true && false) || (false || true)
的计算结果为 true
-(true && false) && (false || true)
计算结果为 false
在您的特定代码片段中:
if (window.location.href.indexOf("search_categories") > -1 &&
window.location.href.indexOf("search_region") > -1 &&
window.location.href.indexOf("upload-a-cv") > -1 ) ...
请求中至少缺少一个参数就足以让 if 表达式计算为 false
,因此 if
语句的主体不会被执行。
我的页面上有一些 JavaScript 检查 indexOf 以在我的 URL 中找到众多字符串之一,然后它执行滚动到页面上设定位置的功能.
我目前正在使用以下代码连接两个条件,但我需要合并第三个条件。当我添加额外的行和额外的 &&
时,我的 JavaScript 失败了。谁能推荐更好的解决方案?
我当前的工作代码:
if (window.location.href.indexOf("search_categories") > -1 &&
window.location.href.indexOf("search_region") > -1) {
// do some stuff
};
失败代码:
if (window.location.href.indexOf("search_categories") > -1 &&
window.location.href.indexOf("search_region") > -1 &&
window.location.href.indexOf("upload-a-cv") > -1) {
// do some stuff
};
我不会称之为串联。双符号表示逻辑 AND 运算符。一般来说,您可以拥有尽可能多的操作数:
operand1 && operand2 && operand3 ...
每个 operand
应该,或者至少应该被评估为布尔值 - true
或 false
。逻辑结果应用于评估的布尔值,如下所示:
逻辑与(&&
)
true && true = true
true && false = false
false && true = false
false && false = false
这意味着如果任何操作数被评估为 false
,则整个评估结果为 false
(true && true && false
最后变为 false
)。
如果您想允许 任何 条件(操作数)使结果为真,则必须使用
逻辑或(||
)
true || true = true
true || false = true
false || true = true
false || false = false
有效地 false || false || false || true
计算为 true
如果你想让某些条件组全部为真,而另一组条件至少有一个为真,你必须将它们分组,使用大括号:
-(true && false) || (false || true)
的计算结果为 true
-(true && false) && (false || true)
计算结果为 false
在您的特定代码片段中:
if (window.location.href.indexOf("search_categories") > -1 &&
window.location.href.indexOf("search_region") > -1 &&
window.location.href.indexOf("upload-a-cv") > -1 ) ...
请求中至少缺少一个参数就足以让 if 表达式计算为 false
,因此 if
语句的主体不会被执行。