Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung der Rolle des Hinzufügens von Symbolen vor js-Funktionen
Wenn Sie sich einige JQuery-Plug-Ins ansehen, können Sie häufig Semikolons, Ausrufezeichen usw. sehen, die vor Js-Funktionen hinzugefügt wurden. Ich glaube, dass viele Schüler die Funktion des Hinzufügens dieses Symbols nicht verstehen um es hinzuzufügen? Nun, lassen Sie uns heute ausführlich über die Rolle des Hinzufügens von Symbolen vor js-Funktionen sprechen!
Die Rolle des Hinzufügens von Semikolons und Ausrufezeichen vor js-Funktionen
Was bedeutet das Symbol vor der js-Funktion? Was ist der Nutzen?
Im Allgemeinen ist die Schreibweise im JQuery-Plug-in so
(function($) { //... })(jQuery);
Heute habe ich die Javascript-Komponente von Bootstrap wird so geschrieben
!function( $ ){ //... }( window.jQuery );Warum muss man ein „!“ voranstellen? Wir alle wissen, dass es zwei Möglichkeiten gibt, Funktionen zu deklarieren
function fnA(){alert('msg');}//声明式定义函数 var fnB = function(){alert('msg');}//函数赋值表达式定义函数Die beiden Funktionen, die in der Frage des Herausgebers auftauchten, sind beide
anonyme Funktionen. Normalerweise rufen wir eine Methode wie folgt auf: FunctionName()
Wenn wir jedoch versuchen, () am Ende einer „Funktion definieren“ hinzuzufügen, kann der Parser dies nicht verstehen.function msg(){ alert('message'); }();//解析器是无法理解的Die aufrufende Methode der definierten Funktion sollte msg(); sein.Wenn Sie den Funktionskörperteil mit () umschließen, kann er ausgeführt werden und der Parser meldet keinen Fehler , wie zum Beispiel:
(function($) { //... })(jQuery);Warum ist es dann in Ordnung, den Funktionskörper mit () zu umschließen? Es stellt sich heraus, dass der Parser die definierte Funktion in Form eines 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. dient lediglich dazu, ein Zeichen wegzulassen ...
// 这么写会报错,因为这是一个函数定义: function() {}() // 常见的(多了一对括号),调用匿名函数: (function() {})() // 但在前面加上一个布尔运算符(只多了一个感叹号),就是表达式了,将执行后面的代码,也就合法实现调用 !function() {}()kann auch ein unärer
var hi = function(){ alert("hi") }; hi();gleich ist...
(function(){ alert("hi") }) ();!, + und () sind gleich. Der Effekt kann in
!function(){ alert("hi") } ();geändert werden. Es spart ein Zeichen als () oder sieht besser aus als ()
(function(){})() , aber Sie können auch eine andere Form verwenden: !function(){}() Das vorangehende !-Zeichen kann durch unäre Operatoren wie -+~ ersetzt werden, wodurch 1 Byte eingespart wird.
Weitere empfohlene Artikel:
JavaScript-Funktionsbindungs-Nutzungsanalyse
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Rolle des Hinzufügens von Symbolen vor js-Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!