function F() {
w = !0;
return !1
}
这是设置布尔变量的特殊方法吗?为什么作者这样做?
编辑:上下文:
document.onmousedown = F;
答案 0 :(得分:2)
w
是外部范围的变量。 !0
是true
但只占用2个字节,所以我的猜测是作者希望在回调函数中将w
设置为true并希望保存字节。
答案 1 :(得分:2)
这是不必要的实力的一个例子。下面的代码完全相同:
function F() {
w = true; //w = !0;
return false //return !1
}
如果你正在使用一个很好的缩小工具,你应该在生产中使用聪明的编程来节省几个字节。
答案 2 :(得分:1)
感叹号是一个逻辑非运算符,它将这些值转换为boolean并确保布尔类型
所以w被赋予真实
你的回报是假的
答案 3 :(得分:0)
在Javascript中0是假值,任何非零值都为真。 !
是合乎逻辑的“不是”,因此!0
是'非假'或'真',而!1
是'不正确'或'假'。
至于作者为何这样做 - 我不知道。
答案 4 :(得分:0)
!是否定运算符。 !0是真的。 !1是假的。
答案 5 :(得分:0)
是的,这是一种设置布尔值的方法。在这种情况下,函数将返回false
,因为1
可以评估为true
,因此其否定(!
)将评估为false
。
答案 6 :(得分:-1)
!
表示“不是”。
您展示的示例没有多大意义,通常您可以使用此示例:
var visible = false;
$('#link').click(function () {
visible = !visible;
});
在上面的这种情况下,每次点击都会“切换”变量visible
。