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