今天看到一个判断语句非常奇怪:
1 if(!!selected){} //为什么是双'!'号呢?
自己查了下资料终于明白了这其中的原理:
原来'!!'会将表达式转为Boolean类型的数据。
如果'!undefined' //得到的是true但是为了防止值等于undefined的时候不为true的话我们可以使用'!!'进行判断;
其实'!!'就是为了排除{非null/undefined/0/''} 等值;
如
var obj = {flag:true}; var demo = !!obj.flag; // demo 等于true