【Web前端问题】[js]为什么同时定义全局变量和局部变量的时候会出现变量为undefined的情况
回答:
因为变量提升啊
function f(){//由于变量提升你可以这么看 var a;//此时a未定义,所以为undefined
console.log(a);
a=2;
}
如果f中没有var a=2;既不会有这种情况
http://www.runoob.com/js/js-h...
回答:
var a = 1;//全局变量function f(){
console.log(a);//这里的在这取a实际上已经定义了只是未赋值,是因为预解析
var a = 2;
}
f();
/////////楼主的代码实际相当如下
var a = 1;//全局变量
function f(){
var a;
console.log(a);//在函数内部找到变量a,但此时的a只是定义了undefined
a = 2;
}
f();
回答:
先在函数内部找`function(){
console.log(a);
var a = 2;
}等价于
function(){
var a;
console.log(a);
a=2;
}`
以上是 【Web前端问题】[js]为什么同时定义全局变量和局部变量的时候会出现变量为undefined的情况 的全部内容, 来源链接: utcz.com/a/137072.html