不使用双符号的逻辑AND操作

时间:2016-04-28 13:16:29

标签: javascript html

目前我在wordpress网站上使用javascript。这将首先创建一个div然后将从其中的外部源呈现一些内容。但是,由于&&和逃避问题。我需要绕过&& 。我也尝试过woth&但它也没有用。删除&&后,div已创建但无法正常工作,因为它功能正常,我必须执行AND操作。有没有其他方法可以执行逻辑AND操作而不使用&& ?代码格式: -

if(k.className == "divbox" && k.getAttribute("data-push") != "1") { 
JSCode 
}

2 个答案:

答案 0 :(得分:3)

声明:

请不要在任何生产代码中使用此提案!
仅供教育使用!

您可以使用乘法运算符&&替换条件中的逻辑AND *,因为布尔值变为0(false)或1(true)

在条件下正确替换它会使乘法成为所需结果。

a  b a*b   result
-  -  -   --------
0  0  0 -> false
0  1  0 -> false
1  0  0 -> false
1  1  1 -> true

建议:

if ((k.className == "divbox") * (k.getAttribute("data-push") != "1")) { 

答案 1 :(得分:0)

A && B等效于!(!A ||!B)。

在您的示例中,将是:

if(!(k.className != "divbox" || k.getAttribute("data-push") == "1")) { 
JSCode 
}

虽然还是不太可读。