扫码关注官方订阅号
ringa_lee
因为变量提升啊
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;
等价于
}`
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
因为变量提升啊
如果f中没有var a=2;既不会有这种情况
http://www.runoob.com/js/js-h...
先在函数内部找`function(){
console.log(a);
}
等价于
function(){var a;
console.log(a);
a=2;
}`