Maison  >  Article  >  interface Web  >  Problèmes d'ajout de ! devant la fonction en js, le code est joint

Problèmes d'ajout de ! devant la fonction en js, le code est joint

亚连
亚连original
2018-05-18 10:18:221292parcourir

Voici les questions que j'ai compilées pour vous sur l'ajout d'une fonction ! devant en js. Les étudiants intéressés peuvent y jeter un œil.

Nous savons tous qu'il existe deux façons de déclarer des fonctions

function fnA(){alert('msg');}//声明式定义函数
var fnB = function(){alert('msg');}//函数赋值表达式定义函数12

La méthode d'appel d'une fonction est généralement FunctionName()

Cependant , Si nous essayons d'ajouter () à la fin d'une "définir une fonction", l'analyseur ne la comprendra pas.

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

La méthode d'appel pour définir une fonction doit être msg(); Alors pourquoi suffit-il d'envelopper le corps de la fonction avec () ?

Il s'avère que si vous utilisez des parenthèses pour envelopper le corps de la fonction définie, l'analyseur appellera la fonction définie sous la forme d'une 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. Et ! est l'un d'entre eux, et + - || ~ ont tous de telles fonctions.

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

// 这么写会报错,因为这是一个函数定义:
function() {}()
// 常见的(多了一对括号),调用匿名函数:
(function() {})()
// 但在前面加上一个布尔运算符(只多了一个感叹号),就是表达式了,将执行后面的代码,也就合法实现调用
!function() {}()

Ce qui précède est le problème que j'ai compilé pour vous concernant l'ajout de ! devant la fonction en js. J'espère que cela vous sera utile à l'avenir.

Articles connexes :

Expliquez en détail comment JS interagit avec l'application (code ci-joint)

Expliquez l'application de Js en détail ()Utiliser (y compris le code)

Facile à comprendre, notes d'auto-apprentissage javascript

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!

Déclaration:
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