# 思考

  1. 以下执行结果是什么?为什么?
function test() {
    message = 'hi'
}
test()
console.log(message) // 'hi'
  1. let 和 var 哪个是函数作用域哪个是块级作用域?

let 是块级作用域,var 是函数作用域。

  1. 打印结果是?
var a = 'a'
console.log(window.a) // 'a'
let b = 'b'
console.log(window.b) // undefined
  1. 打印结果是?原因是?
for (var i = 0; i < 5; i++) {
    setTimeout(() => console.log(i), 0)
}

输出 5 个 5