大家好,又见面了,我是你们的朋友全栈君。
Object-Oriented
a//b c&&d 这种形式的值基本上不可能是true或者false
0 NaN ||(空字符串) null undefined复制代码
除了这5个和false本身,其他的都是truey值。而a//b c&&d这种形式的值只能从abcd里面取。
比如:1&&0&&2 值是0 &的时候浏览器看得就是第一个falsy值,后面就不看了。
1&&console.log(3) 的值是undefined,跟打印出几没有关系。
1&&2&&3 返回最后一个真值3。
0 || undefined || null || 1 返回最后一个真值1
0 || undefined || null || 1 || 0 || null 返回最后一个真值1,已经找到了一个真值1,那么后面的真值就不看了。
了解这些 有助于理解下面:
var a=b||{}
相当于
if(b){
a = b
}else{
a = {}
}
//如果b是真的,那么a=b,如果b不是真的,那么a=空对象。复制代码
var app = {} 这是一个危险代码,因为不知道app以前是什么,就把app覆盖掉了。
if(app){
app = app //废话,没什么作用
}else{
else = {}
} //当app存在的时候,什么都不做,否则再给app赋值。
这个代码就可以简化成
var app = app||{} //兜底写法
复制代码
一些概念:
构造函数:比如Object() Number() String()
转载于:https://juejin.im/post/5bcb14505188255c775dd5de
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/107249.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...