JS基础——立即执行函数
特征:自动执行,执行完成后立即销毁。
常用书写格式
(function() {})(); // OR (function() {}()); // W3C建议书写格式复制代码
(function test() { console.log(123); // 123 })(); test(); // Uncaught ReferenceError: test is not defined复制代码
上述test函数执行完即被销毁,使用再次调用test会报引用错误。
只有表达式才能使用执行符号()
,表达式会自动忽略函数名,可以使用()
+
-
!
||
&&
等运算符将函数声明变成表达式。
function test(a) { console.log(a); }(); // Uncaught SyntaxError: Unexpected token ')'复制代码
上述函数后的()
会被识别为执行符号,而test并不是一个表达式,会报语法错误。
function test(a) { console.log(a); }(6);复制代码
上述函数后的(6)
会被识别为一个新的表达式,所以不会报错。
作者:Vic
链接:https://juejin.cn/post/7022875570006392839