混淆自动运行功能
Confusion about auto-run functions
我知道什么是自动运行函数,我经常在Node.js和简单的JavaScript中使用它们。但有些事我还是不明白。
我有点知道为什么下面的工作
(function () {/* Stuff */})();
但我真的不知道为什么下面的工作…
(function () {/* Stuff */}());
…
function () {/* Stuff */}();
…但这也可以…
!function () {/* Stuff */}(); // The "!" can be any valid expression
我可以得到一个详细的解释吗?
如果是javascript
(function () {console.log("hi");})();
这是一个可立即调用的函数表达式,意思是定义后再调用,所以它被立即调用,它工作
function () {console.log("hi")}();
这将抛出一个错误,因为定义后面跟着大括号,如果你想调用它,就把它设为IIFE
!function () {console.log("hi")}();
这是因为,如果在函数声明前放置一元操作符,则不需要添加闭括号,并且它会删除代码中的一个字符。
希望有所帮助
相关文章:
- '.在'单击“不运行”功能
- 流星 - 观察自动运行功能内未运行
- on点击不运行功能??(可能是Javascript错误?)
- 加载检查单选按钮值并运行功能
- 如何在浏览器中完成图像大小调整后运行功能?(JS/JQuery)
- 在IE中下载文件时运行功能
- 应用程序关闭前的离子运行功能
- 离子选项卡在选择后运行功能
- 检查URL和运行功能
- Chrome扩展赢得't点击按钮运行功能
- 检查时间差是否小于45分钟,并运行功能-AngularJS
- 对输入更改和复选框更改运行功能
- 如何运行功能与参数点击
- 混淆自动运行功能
- 选择按钮运行功能
- 运行功能按钮点击作为创建者用户-谷歌电子表格
- 离子应用程序运行功能在第二次点击
- 谷歌图表-运行功能后绘制
- 具有对焦运行功能的按钮在'输入'
- Onchange选择运行功能