js函数前面的加号,叹号

简介: <p></p> <pre code_snippet_id="563459" snippet_file_name="blog_20141226_1_4105797" name="code" class="html">+function(){}();</pre> <p></p> <p>这里的加号,也可以替换成!,~等其他一元操作符,其效果相当于:</p> <p></p> <pre c

+function(){}();

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

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

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


参考:http://stackoverflow.com/questions/13341698/javascript-plus-sign-in-front-of-function-name

相关文章
|
20天前
|
前端开发 JavaScript 开发者
揭秘JavaScript魔法三剑客:call、apply、bind,解锁函数新世界,你的前端之路因它们而精彩!
【8月更文挑战第23天】在 JavaScript 的世界里,`call`、`apply` 和 `bind` 这三个方法常常让新手感到困惑。它们都能改变函数执行时的上下文(即 `this` 的指向),但各有特点:`call` 接受一系列参数并直接调用函数;`apply` 则接收一个参数数组,在处理不确定数量的参数时特别有用;而 `bind` 不会立即执行函数,而是创建一个新版本的函数,其 `this` 上下文已被永久绑定。理解这三个方法能帮助开发者更好地运用函数式编程技巧,提升代码灵活性和可维护性。
24 0
|
9天前
|
JavaScript 前端开发
JavaScript基础知识-函数的返回值
关于JavaScript函数返回值的基础知识。
18 9
JavaScript基础知识-函数的返回值
|
9天前
|
JavaScript 前端开发
JavaScript基础知识-函数的参数
关于JavaScript函数参数基础知识的介绍。
14 4
JavaScript基础知识-函数的参数
|
9天前
|
JavaScript 前端开发
JavaScript基础知识-立即执行函数
关于JavaScript基础知识中立即执行函数的介绍。
13 2
JavaScript基础知识-立即执行函数
|
7天前
|
JavaScript 前端开发
JavaScript 函数
JavaScript 函数
19 9
|
8天前
|
JavaScript 前端开发
前端JS函数
【9月更文挑战第4天】前端JS函数
19 6
|
4天前
|
存储 JavaScript 前端开发
JS中的数组有哪些常用操作函数和属性
【9月更文挑战第7天】JS中的数组有哪些常用操作函数和属性
8 1
|
11天前
|
自然语言处理 JavaScript 前端开发
|
18天前
|
SQL JavaScript 前端开发
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
【Azure 应用服务】Azure JS Function 异步方法中执行SQL查询后,Callback函数中日志无法输出问题
|
27天前
|
JavaScript
js中有哪些函数?
js中有哪些函数?
18 0