Anonyme Funktionen beziehen sich, wie der Name schon sagt, auf Funktionen ohne Namen. Sie werden in der tatsächlichen Entwicklung sehr häufig verwendet und stehen auch im Mittelpunkt des guten Erlernens von JS. Der folgende Artikel gibt Ihnen eine detaillierte Einführung in anonyme Funktionen in JavaScript. Ich hoffe, er ist hilfreich für Sie!
Anonyme Funktion: Eine Funktion ohne tatsächlichen Namen.
Zuerst deklarieren wir eine normale Funktion:
//声明一个普通函数,函数的名字叫fn function fn(){ console.log("web-chubby"); }
Dann entfernen wir den Namen der Funktion, um eine anonyme Funktion zu werden:
//匿名函数,咦,运行时,你会发现报错啦! function (){ console.log("web-chubby"); }
An diesem Punkt werden Sie feststellen, dass allein das Ausführen einer anonymen Funktion einen Fehler meldet, weil dies der Fall ist nicht den grammatikalischen Anforderungen genügen!
Lösung: Schließen Sie einfach eine Klammer um die anonyme Funktion, um daraus einen Ausdruck zu machen:
//匿名函数在其它应用场景括号可以省略 (function (){ //由于没有执行该匿名函数,所以不会执行匿名函数体内的语句。 console.log("web-chubby"); })
Wie führt man anonyme Funktionen aus und verwendet sie?
1. Anonyme Funktion ausführen
Wenn Sie eine anonyme Funktion ausführen müssen, fügen Sie einfach eine Klammer nach der anonymen Funktion ein, d Ausführungsklammern (häufig verwendet)
(function () { alert('匿名函数执行方式一') })();
2. Anonyme Funktionsparameterübergabe
(function (m) { alert(m) }('这是匿名函数传进来的参数'));
Anwendung anonymer Funktionen
Methoden beim Binden von Ereignissen
<input type="button" value="点我啊!" id="sub"> <script> //获得按钮元素 var sub=document.querySelector("#sub"); //给按钮增加点击事件。 sub.onclick=function(){ alert("当点击按钮时会执行到我哦!"); } </script>
//将匿名函数赋值给变量fn。 var fn=function(){ return "我是一只小小小小留下,怎么飞也飞不高!" } //调用方式与调用普通函数一样 console.log(fn());//我是一只小小小小留下,怎么飞也飞不高!
var obj={ name:"web-chubby", age:18, fn:function(){ return "我叫"+this.name+"今年"+this.age+"岁了!"; } }; console.log(obj.fn());//我叫web-chubby今年18岁了!
//过滤出值为9的值 let numArr = [1, 5, 9, 10] let newArr = numArr.filter(function (item) { if (item !== 9) { return item } });
//将匿名函数作为返回值 function fn(){ //返回匿名函数 return function(){ return "web-chubby"; } } //调用匿名函数 console.log(fn()());//web-chubby //或 var box=fn(); console.log(box());//web-chubby
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
Versuchen Sie den Bereich auf Blockebene:
(function(){ //这里是我们的块级作用域(私有作用域) })();
1. Über Schließungen wird später berichtet Konzentrieren Sie sich auf die Erklärung. Hier eine kurze Einführung: Ein Abschluss ist eine Funktion, die auf Variablen zugreifen kann, die innerhalb des Funktionsumfangs definiert sind. Um einen Abschluss zu erstellen, müssen Sie häufig eine anonyme Funktion verwenden. 2. Simulieren Sie den Umfang auf Blockebene und reduzieren Sie globale Variablen. Nach Ausführung der anonymen Funktion werden die entsprechenden im Speicher gespeicherten Variablen zerstört, wodurch Speicher gespart wird. Darüber hinaus wird in großen Mehrpersonen-Entwicklungsprojekten die Verwendung des Bereichs auf Blockebene das Problem von Namenskonflikten erheblich reduzieren und so katastrophale Folgen vermeiden. Entwickler müssen sich keine Sorgen mehr machen, dass der globale Geltungsbereich durcheinander gebracht wird.
【Verwandte Empfehlungen:
Javascript-Lern-Tutorial】Das obige ist der detaillierte Inhalt vonWas ist eine anonyme Funktion in JavaScript? Kurze Analyse von Anwendungsszenarien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!