Maison > interface Web > js tutoriel > le corps du texte

Explication détaillée des exemples de déclaration de fonction, de promotion, de duplication et de suppression des bases des fonctions javascript

伊谢尔伦
Libérer: 2017-07-25 09:50:45
original
1671 Les gens l'ont consulté

Déclaration de fonction

Utilisez le mot-clé function, suivi d'un ensemble de paramètres et le corps de la fonction

function funcname([arg1 [,arg2 [...,argn]]]){
    statement;
}
Copier après la connexion

funcname est l'identifiant du nom de fonction à déclarer. La liste des paramètres est placée entre parenthèses après le nom de la fonction, séparés par des virgules. Lors de l'appel d'une fonction, ces identifiants font référence aux paramètres réels passés dans la fonction

[Note] Les accolades dans l'instruction de fonction sont obligatoires, ce qui est le même que le bloc d'instruction utilisé dans les boucles while et autres instructions . Différemment, même si le corps de la fonction ne contient qu'une seule instruction, elle doit toujours être placée entre accolades

function test()//SyntaxError: Unexpected end of input
function test(){};//不报错
while(true);//不报错
Copier après la connexion

Promotion

Dans le troisième article de la série scope, il a été mentionné Function. déclaration hoisting (hoisting), le nom de la fonction et le corps de la fonction sont hissés

foo();
function foo(){
    console.log(1);//1
}
Copier après la connexion

La raison pour laquelle l'extrait de code ci-dessus peut afficher 1 sur la console est que la déclaration de fonction foo() est hissée, comme indiqué ci-dessous :

function foo(){
    console.log(1);
}
foo();
Copier après la connexion

Duplication

 La déclaration en double d'une variable est inutile, mais une déclaration en double d'une fonction écrasera la déclaration précédente (qu'il s'agisse d'une déclaration de variable ou de fonction)

//变量的重复声明无用var a = 1;
var a;
console.log(a);//1
Copier après la connexion
//由于函数声明提升优先于变量声明提升,所以变量的声明无作用
var a;
function a(){
    console.log(1);
}
a();//1
Copier après la connexion
//后面的函数声明会覆盖前面的函数声明
a();//2
function a(){
    console.log(1);
}
function a(){
    console.log(2);
}
Copier après la connexion

Par conséquent, vous devez éviter les déclarations répétées dans la même portée

Suppression

Comme les déclarations de variables, les variables créées par les instructions de déclaration de fonction ne peuvent pas être supprimées

function foo(){
    console.log(1);
}
delete foo;//false
console.log(foo());//1
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal