Heim  >  Artikel  >  Web-Frontend  >  Probleme beim Hinzufügen von ! vor der Funktion in js, der Code ist angehängt

Probleme beim Hinzufügen von ! vor der Funktion in js, der Code ist angehängt

亚连
亚连Original
2018-05-18 10:18:221363Durchsuche

Das Folgende sind die Fragen, die ich für Sie zum Hinzufügen vor der Funktion in js zusammengestellt habe.

Wir alle wissen, dass es zwei Möglichkeiten gibt, eine Funktion zu deklarieren

function fnA(){alert('msg');}//声明式定义函数
var fnB = function(){alert('msg');}//函数赋值表达式定义函数12

Die Methode zum Aufrufen einer Funktion ist normalerweise FunctionName()

Allerdings Wenn wir versuchen, () am Ende einer „Funktion definieren“ hinzuzufügen, wird der Parser dies nicht verstehen.

function msg(){
  alert('message');
}();//解析器是无法理解的123

Die aufrufende Methode zum Definieren einer Funktion sollte msg(); sein. Warum reicht es dann aus, den Funktionskörper mit () zu umschließen?

Es stellt sich heraus, dass der Parser die definierte Funktion in Form eines Funktionsausdrucks aufruft, wenn Sie Klammern zum Umschließen des definierten Funktionskörpers verwenden. Mit anderen Worten: Jede Methode, die eine Funktion in einen Funktionsausdruck umwandeln kann, kann es dem Parser ermöglichen, die definierte Funktion korrekt aufzurufen. Und ! ist eine davon, und + - || ~ haben alle solche Funktionen.

Außerdem ist die Verwendung von ! möglicherweise eher eine Frage der Gewohnheit. Verschiedene Betreiber haben unterschiedliche Leistungen.

// 这么写会报错,因为这是一个函数定义:
function() {}()
// 常见的(多了一对括号),调用匿名函数:
(function() {})()
// 但在前面加上一个布尔运算符(只多了一个感叹号),就是表达式了,将执行后面的代码,也就合法实现调用
!function() {}()

Das oben stehende Problem ist das Hinzufügen von ! vor der Funktion in js. Ich hoffe, es wird Ihnen in Zukunft hilfreich sein.

Verwandte Artikel:

Erklären Sie im Detail, wie JS mit der App interagiert (Code im Anhang)

Erklären Sie im Detail, wie JS angewendet wird ()Verwendung (einschließlich Code)

Leicht verständliche Javascript-Notizen zum Selbststudium

Das obige ist der detaillierte Inhalt vonProbleme beim Hinzufügen von ! vor der Funktion in js, der Code ist angehängt. 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