Heim > Web-Frontend > Front-End-Fragen und Antworten > Kann JavaScript keine Funktionsnamen schreiben?

Kann JavaScript keine Funktionsnamen schreiben?

青灯夜游
Freigeben: 2022-10-14 16:32:08
Original
1675 Leute haben es durchsucht

Javascript-Funktionen müssen keinen Funktionsnamen schreiben. Eine Funktion ohne Namen wird als „anonyme Funktion“ bezeichnet. Die Funktion enthält nur das Funktionsschlüsselwort, die Parameter und den Funktionskörper, und die Syntax lautet „Funktion ([Argumente]“). {Aussagen}". Die Funktionen anonymer Funktionen: 1. Der Abschluss kann durch anonyme Funktionen realisiert werden. 2. Simulieren Sie den Bereich auf Blockebene und reduzieren Sie globale Variablen.

Kann JavaScript keine Funktionsnamen schreiben?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Javascript-Funktionen müssen keine Funktionsnamen schreiben. Funktionen ohne Namen werden als „anonyme Funktionen“ bezeichnet.

Anonyme Funktion: Eine Funktion ohne tatsächlichen Namen.

Anonyme Funktionen enthalten nur das Funktionsschlüsselwort, Parameter und den Funktionskörper. Die spezifische Verwendung ist wie folgt:

function ([args]) {
statements
}
Nach dem Login kopieren

Zuerst deklarieren wir eine normale Funktion:

//声明一个普通函数,函数的名字叫fn
function fn(){
    console.log("web-chubby");
}
Nach dem Login kopieren

Dann entfernen wir den Namen der Funktion, um eine anonyme Funktion zu werden:

//匿名函数,咦,运行时,你会发现报错啦!
function (){
    console.log("web-chubby");
}
Nach dem Login kopieren

An diesem Punkt werden Sie feststellen, dass allein die Ausführung einer anonymen Funktion funktioniert Melden Sie einen Fehler, da er nicht den grammatikalischen Anforderungen entspricht.

Kann JavaScript keine Funktionsnamen schreiben?

Lösung: Setzen Sie die anonyme Funktion einfach in Klammern, um daraus einen Ausdruck zu machen:

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

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('匿名函数执行方式一')
    })();
    Nach dem Login kopieren

  • Klammern umschließen anonyme Funktionen und Klammern, die anonyme Funktionen ausführen, um einen Gesamtausdruck zu bilden
  • 2. Anonyme Funktionsparameterübergabe

  • und andere gewöhnliche Parameterübergabe Die Parametermethode ist das Gleiche, schreiben Sie einfach die Parameter direkt in die Klammern:
 (function (m) {
      alert(m)
    }('这是匿名函数传进来的参数'));
Nach dem Login kopieren

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>
    Nach dem Login kopieren

  • Funktionsausdruck weist die anonyme Funktion einem Funktionsattribut in a zu Variable
  • //将匿名函数赋值给变量fn。
    var fn=function(){
        return "我是一只小小小小留下,怎么飞也飞不高!"
    }
    //调用方式与调用普通函数一样
    console.log(fn());//我是一只小小小小留下,怎么飞也飞不高!
    Nach dem Login kopieren

  • Objekt
  • var obj={
        name:"web-chubby",
        age:18,
        fn:function(){
            return "我叫"+this.name+"今年"+this.age+"岁了!";
        }
    };
    console.log(obj.fn());//我叫web-chubby今年18岁了!
    Nach dem Login kopieren

  • Rückruffunktion, wobei die anonyme Funktion als einer der Parameter verwendet wird
  •  //过滤出值为9的值
        let numArr = [1, 5, 9, 10]
        let newArr = numArr.filter(function (item) {
          if (item !== 9) {
            return item
          }
        });
    Nach dem Login kopieren

  • Die Funktion gibt den Wert zurück, das heißt, die Funktion wird als verwendet Rückgabewert
  • //将匿名函数作为返回值
    function fn(){
        //返回匿名函数
        return function(){
            return "web-chubby";
        }
    }
    //调用匿名函数
    console.log(fn()());//web-chubby
    //或
    var box=fn();
    console.log(box());//web-chubby
    Nach dem Login kopieren

  • Imitiert den Bereich auf Blockebene

Bereich auf Blockebene, der an manchen Stellen als privater Bereich bezeichnet wird. In JavaScript gibt es keinen Bereich auf Blockebene. Beispiel:

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
Nach dem Login kopieren
if(){}for(){} usw. haben keinen eigenen Bereich. Wenn sie ihren eigenen Gültigkeitsbereich verlässt, wird die deklarierte Variable sofort zerstört. Aber wir können den Bereich auf Blockebene durch anonyme Funktionen simulieren:

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

Versuchen Sie den Bereich auf Blockebene:

function fn(){
    (function(){
        var la="啦啦啦!";
    })();
    console.log(la);//报错---la is not defined
}
fn();
Nach dem Login kopieren

Die Rolle anonymer Funktionen:

1 Der Abschluss kann durch anonyme Funktionen erreicht werden. Eine kurze Einführung hier: 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 vonKann JavaScript keine Funktionsnamen schreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage