扫码关注官方订阅号
在函数返回值或者赋值的时候经常看到用 ? : 和 || 这两种方式,比如:
return event ? event : window.event;
以及
return event.target || event.srcElement;
在我简单理解都是前者有值的话就取前者,想请问一下这两种方式有区别吗?
认证0级讲师
就你这个例子来说,没区别。看个人习惯,我习惯第2种少写些代码。
第1种用在根据条件取不同的值的时候比较多,比如
return isDog ? "汪汪" : "喵喵";
我觉着没什么区别,只是写法不一样。?: 如果event为真就直接取?后的值|| 会先判断左边的是不是真,如果是真就不会在继续判断后面的,直接返回
?:
真
||
所以如果有区别的话,?:的效率会高||一丢丢(在第一个表达式不是true的情况下)
结果上没区别
写法不一样而已,完全就是个人喜好
确实没有区别,哪个比较的爽,用哪一个
这俩例子上看没有区别; 根据条件取不同的值的时候就需要第一种了:
// Math.max(a,b) a > b ? a : b ;
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
就你这个例子来说,没区别。看个人习惯,我习惯第2种少写些代码。
第1种用在根据条件取不同的值的时候比较多,比如
我觉着没什么区别,只是写法不一样。
?:如果event为真就直接取?后的值||会先判断左边的是不是真,如果是真就不会在继续判断后面的,直接返回所以如果有区别的话,
?:的效率会高||一丢丢(在第一个表达式不是true的情况下)结果上没区别
写法不一样而已,完全就是个人喜好
确实没有区别,哪个比较的爽,用哪一个
这俩例子上看没有区别;
根据条件取不同的值的时候就需要第一种了: