关于JS的作用域和没有块级作用域这个,小弟有点蒙圈了,求敲醒!

function test(){  
for(var i=0;i<3;i++){  
    var what = "haha";   
  } console.log(what);  
}  
test();

上面这个打印what可以出来haha


function enen(){
    var that = "lala";
}
console.log(that);

这个则打印不出来,显示that未定义



按照作用域说的,what应该打印不出来吧?

按照没有块级作用域说的话,that不是应该打印出来吗?

我已经晕了!

lovecherry
浏览 1361回答 1
1回答

lovecherry

that是放在enen()函数里面的,外部不可访问我理解。what不也是放在 test()函数里面的吗?难道what外层加了个for循环,就不算包含在test()里面了?
打开App,查看更多内容
随时随地看视频慕课网APP