window document区别
DOM 是为了操作文档出现的 API,document 是其的一个对象;
BOM 是为了操作浏览器出现的 API,window 是其的一个对象。
var let 区别 const
- let没有变量声明提升
// var 的情况
console.log(foo); // 输出undefined
var foo = 2;
// let 的情况
console.log(bar); // 报错ReferenceError
let bar = 2;
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
在一个作用域内不能声明同一个变量
块级作用域
function f1() {
let n = 5;
if (true) {
let n = 10;
console.log(n); // 10 内层的n
}
console.log(n); // 5 当前层的n
}
{{{{
{let insane = 'Hello World'}
console.log(insane); // 报错 读不到子作用域的变量
}}}};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
- 暂时性死区
var tmp = 123; // 声明
if (true) {
tmp = 'abc'; // 报错 因为本区域有tmp声明变量
let tmp; // 绑定if这个块级的作用域 不能出现tmp变量
}
1
2
3
4
5
2
3
4
5
const命令注意点: const 声明之后必须马上赋值,否则会报错
← canvas svg 伪类与伪元素→