这行中AND运算符的含义

用户名

此JavaScript代码中&&的含义是什么?

function doIt(a) {
    var b = a.parents(),
    c = 1;

    return b.each(function() {
        jQuery(this).hasClass("free-content") && (c = 0)
    }), c
}

通常我会认为这将是一个逻辑运算符AND,但是我无法弄清楚它在这行中的作用。

梅克沃尔

在这种情况下,逻辑AND运算符用于代替IF语句。它将设置c0ifjQuery(this).hasClass("free-content")返回真实值。

等效于:

if (jQuery(this).hasClass("free-content")) {
    c = 0;
}

您想知道这实际上是我不喜欢这种编码的原因,并认为这是一种不好的做法。它很难阅读,并且可能造成混乱,进而造成错误。


如果您要使用返回的值,还应该注意逻辑返回的内容:

(逻辑与)如果可以将其转换为false,则返回expr1;否则返回false。否则,返回expr2。因此,当与布尔值一起使用时,&&如果两个操作数都为true,则返回true;否则,返回false。

在我看来,以下示例显示了错误的代码,因为它很难遵循:

var foo = bar && baz || qux;

上面的代码等效于:

var foo;
if (bar && baz) {
    foo = baz;
} else {
    foo = qux;
}

总结:不要使用逻辑运算符作为一个漂亮的方式来代替if语句或保存按键。它很可能会回来咬你或别人的屁股。

我知道会有人对此表示反对(通常是因为ASI不想使用分号的人),但是编写只有专家才能理解的代码是一个非常糟糕的主意。没有反对的说法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

<?=和>?的含义 C ++中的运算符

来自分类Dev

运算符>> =在C中的含义?

来自分类Dev

Python运算符| =含义

来自分类Dev

Lucene查询语法中必需运算符的含义

来自分类Dev

Go中&^和&^ =运算符的用法和含义

来自分类Dev

运算符的含义?在C#中的对象之后

来自分类Dev

F#中||>和|||>管道运算符的性能含义

来自分类Dev

->运算符在grails中的含义和用法是什么?

来自分类Dev

C#代码中=>运算符的含义

来自分类Dev

Haskell中“ @”运算符的含义是什么

来自分类Dev

在此C ++代码中`&`运算符的含义

来自分类Dev

Lucene查询语法中必需运算符的含义

来自分类Dev

C 中的小于运算符还有什么含义?

来自分类Dev

运算符@在python中的含义是什么

来自分类Dev

“?:”运算符PHP的含义是什么

来自分类Dev

C语言:运算符“#”的含义?

来自分类Dev

在Haskell中学习“:?:”运算符的含义

来自分类Dev

新运算符前的括号 - 含义?

来自分类Dev

C ++中后缀增量运算符中int变量的含义

来自分类Dev

Java正则表达式中\\ 1 *运算符的含义

来自分类Dev

使用点运算符进行目录重定向的含义

来自分类Dev

php-问号冒号运算符的含义

来自分类Dev

php-问号冒号运算符的含义

来自分类Dev

C#-“ is”运算符后花括号的含义

来自分类Dev

Laravel:{}运算符的含义和目的是什么?

来自分类Dev

使用点运算符进行目录重定向的含义

来自分类Dev

变量值包含OR(||)运算符的含义

来自分类Dev

Javascript:||的含义 初始化var时的运算符

来自分类Dev

使用IRB时,=>运算符左侧的含义是什么?