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'); }();//解析器是无法理解的
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() {}()
! 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() {}());
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!