日期:2014-05-16  浏览次数:20464 次

关于浏览器能力检测
本菜B最近在学习javascript,遇到了一个小问题,请知道的朋友讲下,谢谢!
在实际开发中,确定解决方案前应当对浏览器进行能力检测,以确保其具备我所需要的特性,我在书上看到了很多类似下面这样的代码,我想问的是,这里使用双逻辑非操作符是怎么回事?有什么作用?在看书之前,如果我写的话,我肯定用不到!!,不用行不行?
JScript code

//确定浏览器是否支持Netscape风格的插件
var hasNSPlugins = !!(navigator.plugins&&navigator.plugins.length);



------解决方案--------------------
把整数转成逻辑型
------解决方案--------------------
是的,!!一般用于将别的类型转换为布尔型,比如:
JScript code
var x; // x == undefined
x = !!x; // x == false

------解决方案--------------------
JScript code

            var a = '123';
            alert( Boolean(a) )  // 转为布尔值
            alert( !a ) // 转为 相反布尔值
            alert( !!a )// 转为布尔值 同 Boolean(a)