开源JS代码前面加!,+的意义

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了开源JS代码前面加!,+的意义相关的知识,希望对你有一定的参考价值。

我们都知道,函数的声明方式有这两种

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

楼主问题中出现的两个函数,都是匿名函数。通常,我们调用一个方法的方式就是 FunctionName()

但是,如果我们尝试为一个“定义函数”末尾加上(),解析器是无法理解的。

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

定义函数的调用方式应该是 msg() ; 那为什么将函数体部分用()包裹起来就可以了呢?

原来,使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数。也就是说,任何能将函数变成一个函数表达式的作法,都可以使解析器正确的调用定义函数。而 ! 就是其中一个,而 + - || 都有这样的功能。

另外,用 ! 可能更多的是一个习惯问题,不同的运算符,性能是不同的。

以上是关于开源JS代码前面加!,+的意义的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript函数前面加!+-~, ;符号的意义介绍

JS代码中什么时候需要加分号?

massCode 一款优秀的开源代码片段管理器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

VSCode自定义代码片段——JS中的面向对象编程

VSCode自定义代码片段9——JS中的面向对象编程