缩小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
,这正是您要查找的内容。
相关文章