javascript - 新手求问?:与 || 的区别
PHP中文网
PHP中文网 2017-04-10 15:41:12
[JavaScript讨论组]

在函数返回值或者赋值的时候经常看到用 ? :|| 这两种方式,比如:

return event ? event : window.event;

以及

return event.target || event.srcElement;

在我简单理解都是前者有值的话就取前者,想请问一下这两种方式有区别吗?

PHP中文网
PHP中文网

认证0级讲师

全部回复(6)
黄舟

就你这个例子来说,没区别。看个人习惯,我习惯第2种少写些代码。

第1种用在根据条件取不同的值的时候比较多,比如

return isDog ? "汪汪" : "喵喵";
阿神

我觉着没什么区别,只是写法不一样。
?: 如果event为就直接取?后的值
|| 会先判断左边的是不是真,如果是真就不会在继续判断后面的,直接返回

所以如果有区别的话,?:的效率会高||一丢丢(在第一个表达式不是true的情况下)

阿神

结果上没区别

天蓬老师

写法不一样而已,完全就是个人喜好

迷茫

确实没有区别,哪个比较的爽,用哪一个

ringa_lee

这俩例子上看没有区别;
根据条件取不同的值的时候就需要第一种了:

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

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