var o={flag:true}; var test=!!o.flag;//等效于var test=o.flag||false; alert(test);
由于對null與undefined用!操作符時(shí)都會產(chǎn)生true的結(jié)果,
所以用兩個(gè)感嘆號的作用就在于,
如果明確設(shè)置了o中flag的值(非 null/undefined/0""/等值),自然test就會取跟o.flag一樣的值;
如果沒有設(shè)置,test就會默認(rèn)為false,而不是 null或undefined。