闭包中定义的var变量作用域?

考虑一下这个闭包

function makeFunc() {
    var name = "Mozilla";
    function displayName() {
        alert(name);
    }
    return displayName;
}

var myFunc = makeFunc();
myFunc();

name这个变量是用var定义的

那么按照var的规则,name会被定义在全局的window下

这样的话闭包是不是冲突了呢?

最佳答案

那么按照 var 的规则,name 会被定义在全局的 window

这个规则是哪里来的

在函数中是不会的