


Une brève analyse du principe de la fonction anonyme auto-exécutable Javascript (function() { })()
Jan 04, 2017 pm 04:06 PMLa fonction est l'objet le plus flexible de JavaScript. Nous expliquons ici uniquement l'utilisation de ses fonctions anonymes. Les fonctions anonymes font référence à des fonctions qui ne spécifient pas de nom de fonction ou de pointeur. Les fonctions anonymes auto-exécutables ne sont que l'une d'entre elles. Ce type de fonction est appelé ci-dessous : fonction auto-exécutable
Ce qui suit est la plus courante. fonction auto-exécutable :
// 传统匿名函数 (function() { alert('hello'); })();
L'effet d'exécution de ce code est d'apparaître lorsque la page est rechargée : "bonjour"
Qu'est-ce qui l'invite à s'exécuter automatiquement ? , regardez le code suivant
// 在传统写法上去掉小括号,并在前面加上运算符 ~,!,+,- ~function(){ alert('hello'); }(); !function(){ alert('hello'); }(); +function(){ alert('hello'); }(); -function(){ alert('hello'); }();
Il n'y a aucune différence entre ces méthodes d'écriture et la méthode traditionnelle mentionnée ci-dessus
J'ai trouvé que le dénominateur commun de ces méthodes d'écriture est l'opérateur. En fait Les parenthèses traditionnelles () sont aussi un type d'opération, apparaissant dans : a=b*(c d),
L'opérateur est passé au paramètre auto-généré = la fonction est automatiquement exécutée ? Mais certains symboles ne sont pas pris en charge, comme "=, *, /". La raison de son auto-exécution est encore très mystérieuse, et je ne trouve pas de réponse décente sur Internet
Puis j'ai découvert. un phénomène magique. Ces opérateurs peuvent être empilés à l'infini. . . . . .
// function前面是特定符号可以无限叠加... ~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~!+-~!+-+-!~~~~~~~~+-!!!!!!+function a(b) { alert('hello'); }();
Le programme fonctionne normalement !!!!!!
Cependant, il existe deux situations dans lesquelles une erreur sera signalée
Si trois ou plus " " ou "apparaissent successivement -", une erreur se produira;
Si deux symboles " " ou "-" apparaissent dans une rangée et sont suivis d'autres symboles, une erreur se produira, comme "~", "--";
Message d'erreur : Uncaught ReferenceError : expression de gauche non valide dans l'opération de préfixe (ce qui signifie que l'expression de gauche est fausse)
Ensuite, j'ai utilisé le même symbole pour opérer une variable et a constaté qu'elle était exactement la même. Cela peut être possible. Cela signifie que le fonctionnement de JavaScript provoque l'exécution automatique de la fonction, ce qui peut également être compris comme un appel à cette fonction par opération !
Ce n'est pas que la fonction s'exécute toute seule, mais la fonction est appelée par calcul ! , mais ne prend en charge que certaines méthodes de calcul !
De plus, cette fonction auto-exécutable ne peut pas être une fonction anonyme ! En regardant le code ci-dessus, j'ai défini le nom de la fonction a dans la fonction après l'opérateur. Il n'y a pas d'exception, mais cela ne sert à rien - -!, ce a ne peut toujours pas être appelé par d'autres méthodes, mais je pense que beaucoup de gens l'appellent. it Il y a quelque chose qui ne va pas avec le fait qu'il s'agisse d'une fonction anonyme !
Ce qui précède est une brève analyse des principes des fonctions anonymes auto-exécutables Javascript (function() { })() introduites par l'éditeur. J'espère que cela sera utile à tout le monde !
Pour plus d'articles sur les principes des fonctions anonymes auto-exécutables Javascript (function() { })(), veuillez faire attention au site Web PHP chinois !

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Remplacer les caractères de chaîne en javascript

Tutoriel de configuration de l'API de recherche Google personnalisé

8 Superbes plugins de mise en page JQuery Page

Créez vos propres applications Web Ajax

Qu'est-ce que & # x27; ceci & # x27; en javascript?

Améliorez vos connaissances jQuery avec le spectateur source

10 feuilles de triche mobiles pour le développement mobile
