fonction javascript
给我你的怀抱
给我你的怀抱 2017-06-26 10:53:22
0
6
769
function Foo(){
            getName = function(){
                console.log(1);
            };
           return this;
        }

        var getName = function (){ 
            console.log(4)
        };



          Foo().getName(); 

Pourquoi le code ci-dessus génère-t-il 1 ;

Après l'exécution de foo(), ceci est la sortie. Il s'agit de l'objet window. Est-ce que getName dans foo() devient une expression de fonction globale ? Et la variable suivante getName est également une expression de fonction : pourquoi le résultat d'impression est-il 1 ; 

foo, après exécution, est-ce équivalent au code suivant ?

getName = function(){
            console.log(1);
        };

        var getName = function (){ 
            console.log(4)
        };



          getName(); //4
给我你的怀抱
给我你的怀抱

répondre à tous(6)
小葫芦

Quand Foo n'est pas appelé

window.getName = function(){
    console.log(4);
}

Lorsque vous appelez Foo()

getName = function(){
                console.log(1);
            };
// 相当于更改了 window.getName

Après l'appel, return this dans Foo pointe vers la fenêtre, donc le résultat final est 1.

扔个三星炸死你
function Foo(){
    getName = function(){
        console.log(1);
    };
    return this;
}
//全局声明一个变量getName
var getName = function (){ 
    console.log(4)
};
//重新赋值
getName = function () {
    console.log(1)
}
//最终打印结果为1
window.getName()
黄舟

Foo().getName(); exécute getName dans Foo

阿神
function Foo(){
    getName = function(){
        console.log(1);
    };
    return this;
}

var getName = function (){ 
    console.log(4)
};

Foo().getName();
function Foo(){
    getName = function(){
        console.log(1);
    };
    return this;
}

var getName = function (){ 
    console.log(4)
};

getName = function () {
    console.log(1)
}

window.getName()
代言

Vérifiez console.log(Foo()), êtes-vous sûr que c'est une fenêtre ?

ringa_lee

Le getName dans la fonction Foo n'est pas déclaré avec var, il est donc global, donc lorsque Foo est exécuté, la fonction getName à l'intérieur de la fonction écrasera celle définie à l'extérieur

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal