Heim >Web-Frontend >Front-End-Fragen und Antworten >Wie heißt eine Funktion ohne Namen in Javascript?

Wie heißt eine Funktion ohne Namen in Javascript?

青灯夜游
青灯夜游Original
2021-04-09 16:32:342920Durchsuche

In JavaScript wird eine Funktion ohne Namen als „anonyme Funktion“ bezeichnet und die Syntax lautet „Funktion (){}“. 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.

Wie heißt eine Funktion ohne Namen in Javascript?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.

Anonyme Funktion: Eine Funktion ohne tatsächlichen Namen.

Zuerst deklarieren wir eine normale Funktion:

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

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

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

An diesem Punkt werden Sie feststellen, dass die alleinige Ausführung einer anonymen Funktion einen Fehler meldet, da dies nicht der Fall ist Erfüllen Sie die grammatikalischen Anforderungen! Die Lösung besteht einfach darin, die anonyme Funktion mit einer Klammer zu umschließen:

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

Wenn Sie die anonyme Funktion ausführen müssen, fügen Sie nach der anonymen Funktion eine Klammer hinzu, um sie sofort auszuführen!

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

Wenn Sie einen Wert übergeben müssen, schreiben Sie einfach die Parameter direkt in die Klammern:

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

[Empfohlenes Lernen: Javascript-Tutorial für Fortgeschrittene]

Anwendungsszenarien anonymer Funktionen

1. Ereignisse

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

2. Objekt

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

3, Funktionsausdruck

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

4, Rückruffunktion

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

5, Rückgabewert

//将匿名函数作为返回值
function fn(){
    //返回匿名函数
    return function(){
        return "hello world";
    }
}
//调用匿名函数
console.log(fn()());//hello world
//或
var box=fn();
console.log(box());//hello world

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

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(){
    //这里是我们的块级作用域(私有作用域)
})();

Versuchen Sie den Bereich auf Blockebene:

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

Die Rolle anonymer Funktionen:

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.

Weitere Programmierkenntnisse finden Sie unter: Programmiervideo! !

Das obige ist der detaillierte Inhalt vonWie heißt eine Funktion ohne Namen in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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
Vorheriger Artikel:Was bedeutet Auto in CSS?Nächster Artikel:Was bedeutet Auto in CSS?