奇怪的是,当添加参数时,它实际上在立即调用的部分抛出一个 SyntaxError
。
在 Node.js
中运行良好。这是一个函数表达式,Chrome、 Firefox 和大多数浏览器都是这样解释的。您需要手动调用它。
您需要将其设置为 函数表达式函数表达式,而不是 函数定义函数定义,因为 函数定义函数定义不需要名称,而是一个有效的 JavaScript。
(() => {
console.log('Ok');
})();
告诉解析器期望一个函数表达式的最普遍接受的方法就是用括号括起来,因为在 JavaScript 中,括号不能包含语句。此时,当解析器遇到 function 关键字时,它知道将其解析为函数表达式而不是函数声明。
等效于 生命
(function() {
console.log('Ok');
})();
这种方法在 Node.js 中有效而在 Chrome 中无效的原因可能是因为它的解析器将其解释为一个自执行函数,如下所示
function() { console.log('hello'); }();
在 Node.js
中运行良好。这是一个函数表达式,Chrome、 Firefox 和大多数浏览器都是这样解释的。您需要手动调用它。
关于 参数化版本,这将工作。
((n) => {
console.log('Ok');
})()