0
votes

JS Fonctions & Ife

Lorsque j'exécute la pièce suivante du code JS:

var x = (function () {
    console.log('Hello x!');
});

var y = function () {
    console.log('Hello y!');
};

var z = (function () {
    console.log('Hello z!')
    return 2;
})();

x();

y();


3 commentaires

Le mot "immédiatement" signifie "maintenant" ou "tout de suite". En ajoutant le () à la fin de l'expression de fonction, la fonction est immédiatement appelée (appelée) et la valeur de retour est la valeur de z .


La vie est immédiatement invoquée (appelée / courante / etc.). Avant X et Y.


Dupliqué possible de Quelle est la (fonction (fonction () {}) () construction dans JavaScript ?


3 Réponses :


1
votes

Parce que c'est ife:

var x = (function () {
    console.log('Hello x!');
});

var y = function () {
    console.log('Hello y!');
};

var z = function () {
    console.log('Hello z!')
    return 2;
};
z();

x();

y();


4 commentaires

OP sait que c'est un ife ( "et comment l'expression de la fonction immédiatement invoquée (ife) interagit-elle avec la variable" Z "?" )


"pourrait être réécrit" oui et non. Dans cet exemple z est une fonction. Dans l'original z est 2 .


var z = (fonction () {renvoie 2;}) () n'est pas le même que var z = fonction () {...}; z ();


@EvolutionXBox @AndreReas meilleure chance de réécriture au-dessus du code de sorte qu'il reste la même (oups!) Pour illustrer pourquoi "pourquoi" Bonjour Z! " est imprimé en premier.




0
votes

Le premier I à Iife signifie immédiatement.
C'est pourquoi cette fonction est exécutée en premier.

De plus, le NIFE ne peut pas interagir avec la variable «Z».
Mais vous pouvez passer des arguments à cela comme ceci: xxx

espère que cela aiderait cela.


0 commentaires