var et mots-clés de fonction
仅有的幸福
仅有的幸福 2017-05-19 10:29:08
0
5
450

var a = 1;

function a()
{
    console.log(a);
};
a();

Ces lignes de code JS signaleront une erreur lors de l'exécution, mais quelle en est la raison ? Demandez à Dieu de vous expliquer

仅有的幸福
仅有的幸福

répondre à tous(5)
过去多啦不再A梦

Function est le premier citoyen de JavaScript, il y a donc une promotion de fonction ici. L'implémentation finale du code ci-dessus a le même effet que ce qui suit

function a()
{
    console.log(a);
};
var a = 1;
a();

Cela entraînera l'écrasement du nom de la fonction d'origine.

Ty80

L'identifiant est répété. Vous avez déclaré a comme variable

小葫芦

Tout d'abord, parlons de js. Lorsque vous voyez var a = 1, vous devez l'analyser en deux étapes. Tout d'abord, élever var a au sommet de la portée actuelle, puis l'analyser vers le bas jusqu'à ce que a = 1 et commencez à attribuer des valeurs.

C'est le problème des variables et des fonctions ayant le même nom. En termes simples, l'ordre d'analyse du moteur js est le suivant

1 Les déclarations de variables et de fonctions sont promues en haut de la portée actuelle → var a ↑ et `function a(. )
{

console.log(a);
}`

2. Analysez ensuite le code restant `a=1;
a()`,

刘奇

C'est parce que la déclaration de fonction sera anticipée

var a = 1;
function a()
{
    console.log(a);
};
a();

1) La déclaration de fonction sera en haut
2) La déclaration de variable sera également en haut
3) La déclaration de fonction sera en haut que la déclaration de variable : (la fonction est au-dessus de la variable)
4) Les variables et les instructions d'affectation sont écrites ensemble. Une fois analysées par le moteur js, elles seront divisées en deux parties : la déclaration et l'affectation. La déclaration est placée en haut et l'affectation reste à la position d'origine. 5) Les variables déclarées ne seront pas déclarées à plusieurs reprises.

sera équivalent à ce qui suit

var a = function ()
{
    console.log(a);
};
var a = 1;

a();
J'espère que cela vous aidera~

漂亮男人

Beaucoup de gens ont mentionné qu'il s'agissait d'un problème de promotion variable, mais l'explication n'est pas tout à fait correcte. varL'amélioration se fait par parties et les fonctions sont améliorées dans leur ensemble. Pour information

Ça devrait donc ressembler à ceci :

var a;
function a ()
{
    console.log(a);
};
a = 1;
a();
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!