Maison > interface Web > js tutoriel > Ajouter un opérateur avant d'analyser la fonction pour exécuter la fonction immédiatement

Ajouter un opérateur avant d'analyser la fonction pour exécuter la fonction immédiatement

高洛峰
Libérer: 2017-03-12 13:09:14
original
1380 Les gens l'ont consulté

Nous savons que la fonction est généralement appelée FunctionName()

mais si nous essayons d'ajouter () à la fin d'un "define function ", l'analyseur est incompréhensible.

function msg(){
  alert('message');
  }();//解析器是无法理解的
Copier après la connexion

La méthode d'appel de la fonction définie doit être msg().

Si vous souhaitez que la fonction soit exécutée immédiatement, vous pouvez envelopper le corps de la fonction avec ().

En effet, en enveloppant le corps de la fonction définie entre crochets, l'analyseur appellera la fonction définie sous la forme d'expression de fonction. En d’autres termes, toute méthode capable de transformer une fonction en expression de fonction peut permettre à l’analyseur d’appeler correctement la fonction définie. Comme suit :

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

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

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

 ! n'est qu'un des opérateurs, et - || ~ a une telle fonction.

L'utilisation de ! peut être davantage une question d'habitude. Différents opérateurs ont des performances différentes.

L'effet est équivalent aux deux méthodes d'exécution immédiate suivantes couramment utilisées :

(function() {})();
  // or  
(function() {}());
Copier après la connexion

Merci d'avoir lu.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal