-
HUX布斯
包括打印和alert的值如下:1、function a() { console.log(2);
}2、23、function a() { console.log(1);
}4、15、function a() { console.log(1);
}原因: var c = d = a;从右向左执行,d=a,d没有使用var声明,是一个全局变量,方法外部可访问。6、报错,原因:c是函数内部的变量,外部访问不到的,外部变量c是undefined。其它的就不一一解释原因了,本质就是变量提升和函数声明提升的问题。
-
慕工程0101907
1: function a() {console.log(2);}2,3 var a = function () {console.log(1);}4: 报错因为 函数提升优于变量提升 且 变量提升只声明不赋值, 局部变量作用于局部
-
HUWWW
实际上,这段代码是这么跑的:~function () {//hoistingfunction a() { console.log(2);}var a;alert(a);a();a = function () { console.log(1);}alert(a)a();d = a;var c = d;}();alert(d); alert(c);