开源JS代码前面加!,+的意义
2024-10-21 19:36:42
我们都知道,函数的声明方式有这两种
function fnA(){alert('msg');}//声明式定义函数
var fnB = function(){alert('msg');}//函数赋值表达式定义函数
楼主问题中出现的两个函数,都是匿名函数。通常,我们调用一个方法的方式就是 FunctionName()
但是,如果我们尝试为一个“定义函数”末尾加上(),解析器是无法理解的。
function msg(){
alert('message');
}();//解析器是无法理解的
定义函数的调用方式应该是 msg() ; 那为什么将函数体部分用()包裹起来就可以了呢?
原来,使用括号包裹定义函数体,解析器将会以函数表达式的方式去调用定义函数。也就是说,任何能将函数变成一个函数表达式的作法,都可以使解析器正确的调用定义函数。而 ! 就是其中一个,而 + - || 都有这样的功能。
另外,用 ! 可能更多的是一个习惯问题,不同的运算符,性能是不同的。
最新文章
- [自己动手玩黑科技] 1、小黑科技——如何将普通的家电改造成可以与手机App联动的“智能硬件”
- 创建数据库和表的SQL语句【转】
- DZ的伪静态神马的终于OK了
- 回退符\b
- totolink的n200r路由在卓越网和京东网的价钱
- rand,randn,randi函数区别
- Arduino周边模块:执行部件(舵机、直流电机、步进电机)
- 二分法习题HDU2199
- FileReader和BufferedReader的区别
- RocketMQ事务消息回查设计方案
- ffmpeg命令的使用
- 7z 程序打包 Demo
- FFMPEG详细参数
- git rebase 合并提交 解决超过100M文件的提交不能推送问题
- Jquery学习(二)
- 超薄二维Mo2C晶体
- web中浏览PDF文件
- JS日期、月份的加减
- 华硕N43sl VNP 连接问题 800 807 621
- how to create view (windows)