0

在我的时区下午好

我在一本书中看到了这行代码

!!(document.all && document.uniqueID);

为什么必须使用双非运算符?&& 运算符是否已经将结果转换为布尔值?

提前致谢最好的问候

4

1 回答 1

2

&&将返回值document.uniqueID(如果document.all有除 '', 以外的任何值false, null, undefined, 0, NaNdocument.all && document.uniqueID

 for Example 45 === (true && 45) //true

来自mozilla.org

逻辑与 (&&) expr1 && expr2 如果 expr1 可以转换为 false,则返回;否则,返回 expr2。因此,当与布尔值一起使用时,如果两个操作数都为真,则 && 返回真;否则,返回 false。

所以需要用!!上面的表达式转换成Boolean

于 2014-04-01T11:36:27.677 回答