在处理js代码判断真假时经常会这么写。
var vale = fun();//从某个地方获取的值。 if(!value){ 进入这里表示value为false或不存在 }
但fun()可能得到的是数字0,这可不是表示的没有值,但是!js中的数字0就是false,非0就是true。
于是0就被无情的当做false了。
已经被这个坑过N回了,做个记录,以防再被坑。
在处理js代码判断真假时经常会这么写。
var vale = fun();//从某个地方获取的值。 if(!value){ 进入这里表示value为false或不存在 }
但fun()可能得到的是数字0,这可不是表示的没有值,但是!js中的数字0就是false,非0就是true。
于是0就被无情的当做false了。
已经被这个坑过N回了,做个记录,以防再被坑。