这个为什么输出的是tlwy?

name="lwy";
function t(){
    var name="tlwy";
    function s(){
        var name="slwy";
        console.log(name);
    }
    function ss(){
        console.log(name);
    }
    ss();
}
t();
阅读 1.2k
2 个回答

变量的值从当前作用域往上查找,这个成为作用域链,ss内没有name,往上层作用域即t查找到name=tlwy,所以就是tlwy了

image.png

中间的那个 function s() 是骗子

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题