缩小js时进行布尔切换的原因
我在一个js文件中有这行代码
var useScroll = Window.innerWidth > 1360 ? true : false;
缩小后就变成
i=Window.innerWidth>1360?!0:!1
我只是好奇,为什么有!运算符?对我来说,这样做更有意义。
i=Window.innerWidth>1360?1:0
解决方案
有一个非常合理的原因。1和0是整数,有时行为与布尔值不同。
!运算符包括强制转换,这意味着!0和!1是急性布尔值,但它们的类型比false和true短。这就是它们被使用的原因。
它们行为不同的示例:
var a = (1 === true); //a will be false
var a = (!0 === true); //a will be true
但是,您可以将代码简化为
i=Window.innerWidth>1360
因为Window.innerWidth>1360将是true或false,这正是您要查找的内容。
相关文章