深入浅析JavaScript函数前面的加号和叹号

作者:微个日光日 时间:2024-04-18 10:55:41 


+function(){}();

这里的加号,也可以替换成!,~等其他一元操作符,其效果相当于:


(function() { console.log("Foo!"); })();
// or
(function() { console.log("Foo!"); }());

如果没有这个加号的话,解析器会认为function是一个函数声明的开始,而后面()将会导致语法错误。在function前面加上+号时,就变成了一个函数表达式,而函数表达式后面又添加了一个()就变成了一个立即执行的函数了。

下面看下js函数前面感叹号的作用:

一、JS函数声明形式


function fnA(){alert('msg');} //声明式定义函数

二、JS函数表达式形式


var func = function(agr1,arg2){ //创建匿名函数
alert(arg1 + ' ' + arg2);
}

三、JS匿名函数声明完立即执行的常见格式


(function() { /* code */ })();

说明

1、包围函数(function(){})的第一对括号向脚本返回未命名的函数,随后一对空括号立即执行返回的未命名函数,括号内为匿名函数的参数。

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

3、该函数的作用主要为 匿名 和 自动执行

来源:http://blog.csdn.net/xiebaochun/article/details/42172643

标签:js,函数,加号,叹号
0
投稿

猜你喜欢

  • 六个窍门助你提高Python运行效率

    2021-07-19 08:31:15
  • SQL Server误区30日谈 第13天 在SQL Server 2000兼容模式下不能使用DMV

    2024-01-13 18:34:25
  • Python批量启动多线程代码实例

    2021-09-01 04:41:16
  • 分享2个方便调试Python代码的实用工具

    2021-08-26 18:50:08
  • PHP入门基础之注释的写法

    2023-10-20 07:26:17
  • php获取当前页面完整URL地址

    2024-05-13 09:20:56
  • 使用Python的Tornado框架实现一个简单的WebQQ机器人

    2023-03-19 03:26:09
  • python tkinter界面居中显示的方法

    2023-10-14 11:16:18
  • Python txt文件加入字典并查询的方法

    2021-11-09 12:50:15
  • Django之腾讯云短信的实现

    2021-05-15 04:30:54
  • 高性能网站建设指南:性能提升的14个原则

    2011-07-14 16:04:54
  • Python中非常实用的一些功能和函数分享

    2022-05-28 16:25:06
  • SQL中exists的使用方法

    2011-12-01 08:36:07
  • pytorch tensor内所有元素相乘实例

    2023-05-16 15:28:16
  • Python发送form-data请求及拼接form-data内容的方法

    2022-11-14 09:55:15
  • ASP,PHP与.NET伪造HTTP-REFERER方法及防止伪造REFERER的方法

    2010-03-12 12:40:00
  • python mysql自增字段AUTO_INCREMENT值的修改方式

    2023-10-15 07:12:19
  • MySQL里Create Index 能否创建主键 Primary Key

    2024-01-21 07:12:49
  • Python编程itertools模块处理可迭代集合相关函数

    2023-05-31 02:18:07
  • 一段有趣的js代码的研究

    2008-04-29 21:47:00
  • asp之家 网络编程 m.aspxhome.com