javascript函数作用域和声明提前

a = 1;

function f() {

    alert(a);

    var a = 2;

}

f();

这代码不应该输出2吗?


哈士奇WWW
浏览 379回答 1
1回答

12345678_0001

函数作用域和声明提前。既然题主提到这两个知识点了,说明对JS还是有些了解的注意声明提前就只是声明提前,赋值并不提前,所以的话,上述代码相当于a = 1;function f() {    var a //声明提前    alert(a);    a = 2;}f();所以应该输出的是undefined
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript