JS中的「!!」

var o={flag:true}; var test=!!o.flag;//等效於var test=o.flag||false; alert(test);test

因爲對null與undefined用!操做符時都會產生true的結果, 因此用兩個感嘆號的做用就在於, 若是明確設置了o中flag的值(非 null/undefined/0""/等值),天然test就會取跟o.flag同樣的值; 若是沒有設置,test就會默認爲false,而不是 null或undefined。undefined

相關文章
相關標籤/搜索