||和&&实行历程
假如能说清楚下面代码的实行历程, 就没必要看了
//第一题
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 变量