您的位置:首页 > Web前端 > JavaScript

javascript中的两个感叹号有什么用?

2012-06-06 20:09 357 查看
javascript中的两个感叹号是有什么用?今天碰到这个问题了。
网上搜了一下,基本得出这样的概念:两个感叹号在碰见javascript变量未定义时,不返回除boolean外其他值的作用。
比如,你直接使用变量a,那就会产生js的一个错误,如果在IE浏览器之下,这个错误以下的全部js将停止执行。用两个感叹号就可以避免这个问题。

一个很好用的例子是判断当前浏览器是不是IE的,代码如下
[javascript]
var isIE=!!window.ActiveXObject;
[/javascript]
此时,如果isIE为false时,则表示,当前浏览器是非IE浏览器。

以下是关于javascript中两个感叹号的用例测试:
[javascript]
var foo1,
foo2 = 0,
foo3 = "",
foo4 = null,
foo5 = 1,
foo6 = "0",
foo7 = "1",
foo8 = [],
foo9 = {};

document.write("var: " + !!foo1 + "<br>"); //false
document.write("0: " + !!foo2 + "<br>"); //false
document.write("\"\": " + !!foo3 + "<br>"); //fasle
document.write("null: " + !!foo4 + "<br>"); //false
document.write("1: " + !!foo5 + "<br>"); //true
document.write("\"0\": " + !!foo6 + "<br>"); //true
document.write("\"1\": " + !!foo7 + "<br>"); //true
document.write("[]: " + !!foo8 + "<br>"); //true
document.write("{}: " + !!foo9 + "<br>"); //true
[/javascript]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: