转载:http://www.cnblogs.com/iampoet/archive/2013/01/12/2857598.html
var o={flag:true}; var test=!!o.flag;//等效于var test=o.flag||false; alert(test);
由于对null与undefined用!操作符时都会产生true的结果,
所以用两个感叹号的作用就在于,
如果明确设置了o中flag的值(非 null/undefined/0""/等值),自然test就会取跟o.flag一样的值;
如果没有设置,test就会默认为false,而不是 null或undefined。
本文介绍JavaScript中使用双重否定运算符(!!)来确保变量不是null、undefined或其他假值的情况。当变量被明确设置时,其值会被直接返回;未设置时,则默认返回false。
1121

被折叠的 条评论
为什么被折叠?



