2

我已经看到了类似于 b = !b 的解释。但我对它的理解还不够好,无法转化为这种用法。

做什么

var a = !1;    

做?

4

5 回答 5

6

a = !1是一种速记的书写方式a = false。这通常在尝试压缩(缩小)JavaScript 时使用,因为它节省了三个字节。

如果您在普通的未缩小的 JS 中看到这一点,那么有人可能是懒惰或混淆了。

于 2013-08-06T00:33:52.067 回答
1

在 chrome 开发工具中运行它,看看你得到了什么。

a评估为 false 因为 1 是javascript 中的真实值,因此否定它会产生false

也许读这个http://james.padolsey.com/javascript/truthy-falsey/。这很有趣:)

于 2013-08-06T00:34:56.683 回答
0

通常,!它将反转其操作数的布尔值。

if is或if is!a也会如此。trueafalsefalseatrue

希望有帮助:)

于 2013-08-06T00:37:01.063 回答
0

!not运算符。因此! true等于false。它的结果将是true或者false

JavaScript 中的所有值要么是“真”,要么是“假”。这描述了它们在预期boolean(true或)的上下文中的解释。false

“真实”值的示例:true、1、[]、{}、“text”

“虚假”值的示例:false、0、“”

!1是对真值的否定,将评估为假。b = !b是 a toggler,它会将值从 a 更改truthy为 a falsy,反之亦然。

于 2013-08-06T00:38:19.630 回答
0

!运算符称为逻辑非运算符。

简而言之,false如果以下值为“真”,则返回,true否则返回。

由于1是“真实的”,因此您的示例!1读取NOT 1,它将返回false

于 2013-08-06T00:39:01.543 回答