var a = 6;
setTimeout(function() {
var a = 666;
console.log(a); ///666
},1000);
根据变量作用域链,全局变量出在作用域末端,优先访问了局部变量,从而覆盖了全局变量。
var a = 6;
setTimeout(function(){
console.log(a); //undefined
var a = 666;
},1000);原因同上。
var a = 6;
setTimeout(function(){
console.log(a);
var a = 66;
},1000);
a = 666;
console.log(a);
//会先输出666,再输出undefined这个是因为js的异步处理,会先执行主线程,再执行setTimeout的子线程。
var a = 6;
setTimeout(function(){
console.log(a);
var a = 66;
},0);
a = 666;
console.log(a);
//会先输出666,再输出undefined这个是因为js的异步处理,会先执行主线程,再执行setTimeout的子线程。
1584

被折叠的 条评论
为什么被折叠?



