我已经看到了类似于 b = !b 的解释。但我对它的理解还不够好,无法转化为这种用法。
做什么
var a = !1;    
做?
a = !1是一种速记的书写方式a = false。这通常在尝试压缩(缩小)JavaScript 时使用,因为它节省了三个字节。
如果您在普通的未缩小的 JS 中看到这一点,那么有人可能是懒惰或混淆了。
在 chrome 开发工具中运行它,看看你得到了什么。
a评估为 false 因为 1 是javascript 中的真实值,因此否定它会产生false
也许读这个http://james.padolsey.com/javascript/truthy-falsey/。这很有趣:)
通常,!它将反转其操作数的布尔值。
if is或if is!a也会如此。trueafalsefalseatrue
希望有帮助:)
!是not运算符。因此! true等于false。它的结果将是true或者false
JavaScript 中的所有值要么是“真”,要么是“假”。这描述了它们在预期boolean(true或)的上下文中的解释。false
“真实”值的示例:true、1、[]、{}、“text”
“虚假”值的示例:false、0、“”
!1是对真值的否定,将评估为假。b = !b是 a toggler,它会将值从 a 更改truthy为 a falsy,反之亦然。