||和&&执行过程
如果能说清楚下面代码的执行过程, 就没必要看了
//第一题
if(0 || null || ""){
console.log(1)
} else {
console.log(2)
}
//第二题
//下面代码返回什么?
0 || null || ""
//第三题
//下面代码是什么意思
var app = app || {}
需要的知识:
- 5个 falsey 值: 数字0, NaN, "", undefined, null
- || 基本不可能返回 true 或者 false (&& 类似,下同)
- || 返回第一个 truely 值, 找到就停止执行下面的操作, 如果没有truely值, 则返回最后一个值
找优点,并且返回第一个优点,找不到返回最后一个缺点
第一题代码过程:
- 执行
0 || null || ""
,返回""
- 在
if(){}
中, ()内的内容需要转化为 true 和 false, 因为""
转化为 false, 所以打印出2
第三题解释:
- 如果 app 是 truely 值(如果别人之前定义 app, 就为 truely ),
var app = app
, - 如果 app 是 falsey 值(如果别人之前没有定义过 app, 就为 falsey),
var app = {}
- 作用是防止你覆盖别人之前定义的 app 变量
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。