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]
网上搜了一下,基本得出这样的概念:两个感叹号在碰见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]
相关文章推荐
- 【JavaScript】中两个小括号 ()() 是什么意思
- Javascript中,a,b两个数值,什么情况下a===b 但是 1/a !== 1/b 呢?
- JavaScript里面三个等号和两个等号有什么区别?
- javascript中的=等号个数问题两个跟三个有什么区别
- JavaScript中两个感叹号的作用
- JavaScript中两个感叹号(!!)的作用
- Javascript两个感叹号的用法(!!)
- Javascript中!!(两个感叹号,双感叹号)的含义
- JavaScript中两个感叹号的作用
- javascript中两个感叹号的作用
- JavaScript中两个感叹号的作用
- javascript中的=等号个数问题两个跟三个有什么区别
- Javascript中!!(两个感叹号,双感叹号)的含义
- JavaScript中两个感叹号(!!)的作用
- JavaScript中两个感叹号(!!)的作用
- JavaScript三个等号和两个等号有什么区别?
- JavaScript中两个感叹号的作用
- JavaScript中两个感叹号的作用说明
- Javascript两个感叹号的用法(!!)