关于浏览器能力检测解决方法

关于浏览器能力检测本菜B最近在学习javascript,遇到了一个小问题,请知道的朋友讲下,谢谢!在实际开发中,确

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

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


[解决办法]
把整数转成逻辑型
[解决办法]
是的,!!一般用于将别的类型转换为布尔型,比如:
JScript code
var x; // x == undefinedx = !!x; // x == false
[解决办法]
JScript code
            var a = '123';            alert( Boolean(a) )  // 转为布尔值            alert( !a ) // 转为 相反布尔值            alert( !!a )// 转为布尔值 同 Boolean(a)