Maison  >  Article  >  interface Web  >  Quel est le nom d’une fonction sans nom en javascript ?

Quel est le nom d’une fonction sans nom en javascript ?

青灯夜游
青灯夜游original
2021-04-09 16:32:342834parcourir

En JavaScript, une fonction sans nom est appelée « fonction anonyme », et la syntaxe est « function (){} ». Les fonctions des fonctions anonymes : 1. La fermeture peut être réalisée via des fonctions anonymes ; 2. Simuler la portée au niveau du bloc et réduire les variables globales.

Quel est le nom d’une fonction sans nom en javascript ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, ECMAScript version 6, ordinateur Dell G3.

Fonction anonyme : une fonction sans nom réel.

Nous déclarons d'abord une fonction normale :

//声明一个普通函数,函数的名字叫fn
function fn(){
    console.log("hello world");
}

Ensuite, supprimons le nom de la fonction pour devenir une fonction anonyme :

//匿名函数,咦,运行时,你会发现报错啦!
function (){
    console.log("hello world");
}

À ce stade, vous trouverez que l'exécution d'une fonction anonyme distincte signale une erreur car elle ne répond pas aux exigences de syntaxe ! La solution est simplement d'entourer la fonction anonyme d'une parenthèse :

//匿名函数在其它应用场景括号可以省略
(function (){
    //由于没有执行该匿名函数,所以不会执行匿名函数体内的语句。
    console.log("hello world");
})

Si vous devez exécuter la fonction anonyme, ajoutez une parenthèse après la fonction anonyme pour l'exécuter immédiatement !

(function (){
    //此时会输出hello world
    console.log("hello world");
})()

Si vous devez passer une valeur, écrivez simplement les paramètres directement entre parenthèses :

(function (str){
    //此时会输出hello world!
    console.log("hello");
})(" world!")

[Apprentissage recommandé : Tutoriel avancé JavaScript]

Scénarios d'application de fonctions anonymes

1. Événement

<input type="button" value="点我啊!" id="sub">
<script>
    //获得按钮元素
    var sub=document.querySelector("#sub");
    //给按钮增加点击事件。
    sub.onclick=function(){
        alert("当点击按钮时会执行到我哦!");
    }
</script>

2. Objet

var obj={
    name:"张三",
    age:18,
    fn:function(){
        return "我叫"+this.name+"今年"+this.age+"岁了!";
    }
};
console.log(obj.fn());//我叫张三今年18岁了!

3. . Fonction de rappel

//将匿名函数赋值给变量fn。
var fn=function(){
    return "我是一只小小小小留下,怎么飞也飞不高!"
}
//调用方式与调用普通函数一样
console.log(fn());//我是一只小小小小留下,怎么飞也飞不高!

5. Valeur de retour

setInterval(function(){
    console.log("我其实是一个回调函数,每次1秒钟会被执行一次");
},1000);

Imite la portée au niveau du bloc

la portée au niveau du bloc, qui est appelée. certains endroits Portée privée. Il n'y a pas de portée au niveau du bloc en JavaScript. Par exemple :
  • //将匿名函数作为返回值
    function fn(){
        //返回匿名函数
        return function(){
            return "hello world";
        }
    }
    //调用匿名函数
    console.log(fn()());//hello world
    //或
    var box=fn();
    console.log(box());//hello world
  • if(){}for(){}, etc. n'ont pas leur propre portée. Si elle sort de sa propre portée, la variable déclarée sera immédiatement détruite. Mais nous pouvons simuler la portée au niveau du bloc grâce à des fonctions anonymes :
if(1==1){//条件成立,执行if代码块语句。
    var a=12;//a为全局变量
}
console.log(a);//12

for(var i=0;i<3;i++){
    console.log(i);
}
console.log(i);//4

Essayez la portée au niveau du bloc :

(function(){
    //这里是我们的块级作用域(私有作用域)
})();

Le rôle des fonctions anonymes :

1. La fermeture peut être mise en œuvre via des fonctions anonymes. La fermeture sera expliquée dans les articles suivants. Une introduction rapide ici : une fermeture est une fonction qui peut accéder aux variables définies dans la portée de la fonction. Pour créer une fermeture, vous devez souvent utiliser une fonction anonyme.

2. Simulez la portée au niveau du bloc et réduisez les variables globales. Après avoir exécuté la fonction anonyme, les variables correspondantes stockées en mémoire seront détruites, économisant ainsi de la mémoire. De plus, dans les projets de développement à grande échelle impliquant plusieurs personnes, l'utilisation d'une portée au niveau des blocs réduira considérablement le problème des conflits de noms, évitant ainsi des conséquences catastrophiques. Les développeurs n’ont plus à craindre de gâcher la portée mondiale.


Pour plus de connaissances sur la programmation, veuillez visiter :

Vidéo de programmation

 ! !

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
Article précédent:Que signifie auto en CSSArticle suivant:Que signifie auto en CSS