Maison  >  Article  >  interface Web  >  Différents types de fonctions en JavaScript

Différents types de fonctions en JavaScript

一个新手
一个新手original
2017-09-20 10:05:451133parcourir


Avant-propos

Récemment, j'ai un sentiment différent à propos de JavaScript. de résonance ! Cette fois, j'ai entendu quelques idées sur différents types de fonctions à partager avec vous


Fonctions communes

L'exemple suivant est une fonction nommée box, sans paramètres, renvoyant Lee, et alert est la fonction de sortie

function box (){
    return 'lee';
}
alert(box());

Anonyme function

L'exemple suivant est une fonction anonyme. La différence avec une fonction ordinaire est qu'elle n'a pas de nom, donc lorsque nous écrivons uniquement une fonction anonyme, elle ne peut pas être exécuté car sans nom, alerte

 //匿名函数 ,不可以运行function (){
 return 'lee';
}

la fonction anonyme ne peut pas être affectée à une variable

Parce que notre fonction anonyme ne peut pas s'exécuter, nous attribuons la fonction anonyme à une variable et exécutons notre fonction anonyme indirectement via la variable

 //匿名函数付给变量
 var box =function (){
     return 'leee';
 }
 alert(box());

Fonction anonyme auto-exécutable

 //通过自我执行(function (){      (函数)()
    alert('lee');
})()

La fonction anonyme est exécutée avec alerte

//自我执行后用alert打印alert((function(){
    return'leee';
})());

La fonction anonyme est exécutée avec des paramètres auto-passants

//自我执行传参(function(age){
    alert(age);
})(100)

Fermeture

Moyen de fermeture à l'intérieur de la fonction Mettre une fonction et afficher

//函数里面放一个函数=====和上一个是一样的function box(){
        return  function (){  //闭包
            return 'lee';
    }
} var b=box();
 alert(b());

cumulatif

Les variables locales de la fonction ne peuvent pas être obtenues car elles utilisent des variables globales. Les variables globales ne peuvent pas être enregistrées en mémoire, mais les fermetures peuvent réaliser une accumulation de variables locales. mémoire, donc il peut s'accumuler, mais les variables locales peuvent être utilisées fréquemment car elles occupent trop de mémoire

//通过使用闭包实现局部累加
 function box(){
     var age=100;     
     return function(){
         age++;         
         return age;
     };
 } var boxx=box();
 alert(boxx());
 alert(boxx());

 boxx=null; //表示解除引用

Résumé

Étudiez sérieusement ! Ne demandez pas de progrès ! À la recherche du meilleur ! Tout est connaissance, cela dépend si vous souhaitez l'apprendre ou non !

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!

Déclaration:
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