1.全局变量 vs window属性, 两者都是可以在各作用域启用.
区别: 全局变量不可删, 属性可以删
var a = 1234 //全局变量
b = 2345 //b-window属性
function test(){
c = 3456 //c-window属性
}
2. let / var 区别
let 存在块作用域, var 没有
function test () {
var a = 1
if (a === 1) {
var b = 2
console.log(b)
} else {
console.log(22)
}
console.log(b)
}
系统会扫描变成function test () {
var a = 1
var b
if (a === 1) {
b = 2
console.log(b)
} else {
console.log(22)
}
console.log(b)
}
3. 遍历方法
- for
- arr.foreach(不能break/contine)
- arr.every(末尾要返回true才能循环)
- for in(注意索引是个字符, 遍历的主体是对象, 不是数组. 数组本身也是对象)
- for of (ES6开始增加, 可以遍历除了数组对象以外,自定义的数据结构 )
记住,for in遍历的是数组的索引(即键名),而for of遍历的是数组元素值。