undefined
解析: 在没有调用 f 函数时,temp的值是123,在查找变量时,它先会从函数内沿着作用域链逐级向外进行查找,若有则会返回,若无,则会返回undefined,
使用var声明的变量并不会有块级作用域...,在if语句块声明赋值的变量,相当于是裸露的,因为在 f函数内,变量先使用,但是未赋值,所以是undeifined
块级作用域
写出下面一段代码输出的结果
var temp = 123;
function...答案: 123,然后报错ReferenceError: Cannot access 'temp' before initialization,无法在初始化之前访问变量
解析: let声明的变量是有块级作用域的