先起个例子吧~ 这个用的是谋智的js引擎monkey spider
1darion.yaphet@localhost.localdomain:/home/darion.yaphet> js 2js> var i; 3js> print(i) 4undefined 5js> 6js> var j = !!i; 7js> print(j) 8false 9js>
看起来 i 是undefined j经过两次取非运算 !i == true !!i == false 不再是undefined
两个叹号(!!) 会把后面的表达式转换成bool类型 如下~
1js> var t = null; 2js> print(!!t); 3false 4js> 5js> t = '' 6"" 7js> print(!!t); 8false 9js> 10js> 11js> t = 1 121 13js> print(!!t); 14true 15js> 16js> t = 0 170 18js> print(!!t); 19false 20js> 21js> 22js> t = '111' 23"111" 24js> print(!!t); 25true 26js> 27js> t = '0' 28"0" 29js> print(!!t);