Heim  >  Artikel  >  Web-Frontend  >  Fügen Sie den Operator hinzu, bevor Sie die Funktion analysieren, um die Funktion sofort auszuführen

Fügen Sie den Operator hinzu, bevor Sie die Funktion analysieren, um die Funktion sofort auszuführen

高洛峰
高洛峰Original
2017-03-12 13:09:141333Durchsuche

Wir wissen, dass die -Funktion normalerweise FunctionName()

heißt, aber wenn wir versuchen, () am Ende einer „Funktion definieren “ hinzuzufügen, Der Parser ist unverständlich.

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

Die aufrufende Methode der definierten Funktion sollte msg() sein.

Wenn Sie möchten, dass die Funktion sofort ausgeführt wird, können Sie den Funktionskörper mit () umschließen.

Dies liegt daran, dass der Parser durch das Einschließen des definierten Funktionskörpers in Klammern die definierte Funktion in Form eines Funktionsausdrucks aufruft. Mit anderen Worten: Jede Methode, die eine Funktion in einen Funktionsausdruck umwandeln kann, kann es dem Parser ermöglichen, die definierte Funktion korrekt aufzurufen. Wie folgt:

// 这么写会报错,因为这是一个函数定义:
function() {}()

// 常见的(多了一对括号),调用匿名函数:
(function() {})()

// 但在前面加上一个布尔运算符(只多了一个感叹号),就是表达式了,将执行后面的代码,也就合法实现调用
!function() {}()

! ist nur einer der Operatoren und + - || ~ alle haben solche Funktionen.

Die Verwendung von ! ist möglicherweise eher eine Gewohnheitssache.

Der Effekt entspricht den folgenden zwei häufig verwendeten Methoden zur sofortigen Ausführung:

(function() {})();
  // or  
(function() {}());

Vielen Dank fürs Lesen.

Das obige ist der detaillierte Inhalt vonFügen Sie den Operator hinzu, bevor Sie die Funktion analysieren, um die Funktion sofort auszuführen. 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