<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>js中的!!使用:</title>
<script type="text/javascript" src="test.js"></script>
</head>
<body>
<script>
/*
由于对null与undefined用!操作符时都会产生true的结果,
所以用两个感叹号的作用就在于,
如果明确设置了o中flag的值(非 null/undefined/0""/等值),自然test就会取跟o.flag一样的值;
如果没有设置,test就会默认为false,而不是 null或undefined
*/
var o={flag:true};
var a={flag:undefined}
var b={flag:null};
alert(!!o.flag);//弹出:true
alert(!!a.flag);//弹出:false
alert(!!b.flag);//弹出:false
</script>
</body>
</html>