javascript - 请教js中,return,return 0,return false有什么区别?
PHP中文网
PHP中文网 2017-04-10 15:08:54
[JavaScript讨论组]

回复这个问题的评论想到的
平时会用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 falsereturn 0肯定有不一样,但是不知道是什么不一样~请教大家!

PHP中文网
PHP中文网

认证0级讲师

全部回复(2)
大家讲道理

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");
天蓬老师

0只有看做表达式的时候,才具有表达false的性质,比如:

if(0){
console.log(true);
}else{
console.log(false);
}

而这里的 :

return a==b ? 1 : 0;

0其实是作为语句存在的 。

向这样语句用表达式来表示的现象还有这样:
会被视为false的值有:

  1. 数字0
  2. 空字符串''或""
  3. 布尔值false
  4. null
  5. undefined

这里有提到

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号