JS基础知识点

2020-09-14  本文已影响0人  yzmt

逻辑运算符

undefined, null, NaN, "", 0, false这六个值转成布尔值均为false

&&(与)

&& 从第一个表达式依次往后看, 如果遇到的表达式转成布尔值为false, 则暂停, 将该表达式的值返回; 如果从头到尾转成布尔值均为true, 则将最后一个表达式的值返回

let a = 1 && 2
console.log(a) // 2

let a = 1 && ""
console.log(a) // ""

let a = 0 && ""
console.log(a) // 0

let a = 2 && "" && 4
console.log(a) // ""
....
||(或)

||从第一个表达式依次往后看, 如果遇到的表达式转成布尔值为true, 则暂停, 将该表达式的值返回; 如果从头到尾转成布尔值均为false, 则将最后一个表达式的值返回

let a = 1 || 2
console.log(a) // 1

let a = 0 || 1
console.log(a) // 1

let a = 0 || ""
console.log(a) // ""

let a = 1 || "" || null
console.log(a) // 1

let a = 0 || 2 || null
console.log(a) // 2
!(非)

!将表达式先转换成布尔值再取反

函数预编译四部曲

相当于 AO{
 a : undefined,
 b : undefined
}

作用域

function a (){
function b (){
 var bb = 234;
 aa = 0;
}
var aa = 123;
b();
console.log(aa)
}
var glob = 100;
a();
image.png
image.png
image.png
image.png

闭包的作用

上一篇下一篇

猜你喜欢

热点阅读