js函数前加感叹号和分号作用

2021-07-12 08:06

阅读:570

标签:text   部分   comm   log   javascrip   style   函数调用   params   dem   

函数声明方式有两种:

1,    function demo(){}  //声明式定义函数
2,     var demo=function(){} //函数赋值表达式定义函数

  

我们通常这样调用函数 demo()。

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

如果将函数体部分用()包裹起来就可以运行并且解析器是不报错的:

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

 在前面加上~+-等一元操作符也可以。。其实还有好几种符合都可以保证匿名函数声明完就立即执行

我们都知道分号是为了和前面的代码隔开,js可以用换行分隔代码,但是合并压缩多个js文件之后,换行符一般会被删掉,所以连在一起可能会出错,加上分号就保险了。

你看到的感叹号,一般是在压缩过的js文件里面,因为在匿名函数调用的时候,通常我们都是用:
(function(){})() 的形式,但也可以使用另一种形式:!function(){}() 前面的!号可以换成-+~等等一元操作符,从而省下了1字节。

 

 

js函数前加感叹号和分号作用

标签:text   部分   comm   log   javascrip   style   函数调用   params   dem   

原文地址:http://www.cnblogs.com/lubenxin/p/7082776.html


评论


亲,登录后才可以留言!