首页 > 代码库 > js函数前加感叹号和分号作用
js函数前加感叹号和分号作用
函数声明方式有两种:
1, function demo(){} //声明式定义函数
2, var demo=function(){} //函数赋值表达式定义函数
我们通常这样调用函数 demo()。
但如果我们为一个“定义函数”末尾加上(),解析器是无法理解的。
如果将函数体部分用()包裹起来就可以运行并且解析器是不报错的:
(function() {})() //调用匿名函数
但在前面加上一个布尔运算符(只多了一个感叹号),就是表达式了,将执行后面的代码,也就合法实现调用
!function() {}()
在前面加上~+-等一元操作符也可以。。其实还有好几种符合都可以保证匿名函数声明完就立即执行
我们都知道分号是为了和前面的代码隔开,js可以用换行分隔代码,但是合并压缩多个js文件之后,换行符一般会被删掉,所以连在一起可能会出错,加上分号就保险了。
你看到的感叹号,一般是在压缩过的js文件里面,因为在匿名函数调用的时候,通常我们都是用:
(function(){})() 的形式,但也可以使用另一种形式:!function(){}() 前面的!号可以换成-+~等等一元操作符,从而省下了1字节。
js函数前加感叹号和分号作用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。