回复这个问题的评论想到的
平时会用return false
阻止系统默认事件,比如
javascript
$('a').click(function(){ //一些操作 return false; });
我也知道return
的值可以定义一个变量接收,比如
var result = function( a, b ){
return a==b ? 1 : 0;
}
console.log(result);
但是0不是也是为假么,为什么 return 0 就不行?
我知道return false
和return 0
肯定有不一样,但是不知道是什么不一样~请教大家!
大家讲道理2017-04-10 15:10:54
0 就是 0, 0 不是假,0 类型转换成 false 之后才是假。
function returnFalse() { return false; }
function returnZero() { return 0; }
if( returnFalse() === false ) console.log("I'm preventDefault() by false");
if( returnZero() === false ) console.log("I'm perventDefault() by zero");
天蓬老师2017-04-10 15:10:54
0只有看做表达式的时候,才具有表达false的性质,比如:
if(0){
console.log(true);
}else{
console.log(false);
}
而这里的 :
return a==b ? 1 : 0;
0其实是作为语句存在的 。
向这样语句用表达式来表示的现象还有这样:
会被视为false的值有:
这里有提到