猿问

新手求问?:与 || 的区别

在函数返回值或者赋值的时候经常看到用?:和||这两种方式,比如:
returnevent?event:window.event;
以及
returnevent.target||event.srcElement;
在我简单理解都是前者有值的话就取前者,想请问一下这两种方式有区别吗?
MMMHUHU
浏览 499回答 2
2回答

侃侃尔雅

就你这个例子来说,没区别。看个人习惯,我习惯第2种少写些代码。第1种用在根据条件取不同的值的时候比较多,比如returnisDog?"汪汪":"喵喵";

Qyouu

我觉着没什么区别,只是写法不一样。?:如果event为真就直接取?后的值||会先判断左边的是不是真,如果是真就不会在继续判断后面的,直接返回所以如果有区别的话,?:的效率会高||一丢丢(在第一个表达式不是true的情况下)
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答