课程
/前端开发
/JavaScript
/JavaScript深入浅出
求解答,第一个alert(x),为什么是function?
2015-05-15
源自:JavaScript深入浅出 7-3
正在回答
在代码块中的变量声明会被隐式地提升到封闭函数的顶部!
比如 上面代码可以这样写:
var x; function x(){} alert(x); x=10; alert(x); x=20; //function x(){}; 这块代码被提升了 alert(x); if(true){ var a=1; }else{ var b=true; } alert(a); alert(b);
如果没有function x(){}的话,第一个弹出的应该是 undefined !
怀旧的文学小青年
Lyong 提问者
额,视频里莫非我木有说清楚,55555,掩面而泣
var x;
function x(){}
alert(x);
x=10;
x=20;
//function x(){}; 这块代码被提升了
if(true){
var a=1;
}else{
var b=true;
}
alert(a);
alert(b);
THK
举报
由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握
1 回答为什么typeof(function(){ }) 返回的是function
3 回答为什么不是prototype能继承
6 回答老师我想请问下第二个alert的结果为什么是1
1 回答原型与继承【prototype继承为什么要修正constructor】
1 回答关于 原型的继承 这一节的一个疑问