1. 调用在最下面function add() { console.info(a, b, c);// 1 2 9}var a = 1, b = 2, c = 9;
add();2. 调用在最上面add();function add() { console.info(a, b, c);//undefined undefined undefined
}
var a = 1, b = 2, c = 9;3. 调用在中间function add() {
console.info(a, b, c);//undefined undefined undefined
}add();var a = 1, b = 2, c = 9;第一段代码按照Java的语法,应该是变量在申明在前面,后面的函数才能拿到值的,如果按照JavaScript变量提升的话,第一段代码拿到的也应该是undefined。这边的执行结果不是很理解,词法作用域和变量提升的理不清!
添加回答
举报
0/150
提交
取消