文章目录
自调用函数:只能自己在定义的同时调用自己一次,对外界不可见。
- 语法
// 函数名加与不加都可以
(function 函数名(形参){
console.log(11);
})(实参)
- 使用:
// 用法一
const str = '流星';
(function (params){
console.log(params); // '流星'
})(srt)
// 用法二
const aa = (function (){
return 11;
})();
console.log(aa); // 11
- 但是如果存在2个,第一个能正常执行,第二个就会报错,其实就是只有首次调用才生效。
(function (){
console.log(11);
})()
(function (){
console.log(22);
})()
// 等价于下面这种写法
(function (){
console.log(11);
})()();

- 在自调用函数中定义的变量,在外界是访问不到的,因为该变量的作用域仅限于自调用函数内部;
(function (){
let aa = 11;
})()
console.log(aa); // 报错:Uncaught ReferenceError: aa is not defined
- 并且在自调用函数外部,调用自调用函数也是不行的。
(function aa(){
console.log(11);
})()
aa(); // 报错:Uncaught ReferenceError: aa is not defined
自调用函数是一种在定义后立即执行的函数,只调用一次,对外界不可见。它创建了独立的作用域,外部无法访问其内部变量。文章通过示例展示了自调用函数的两种用法,并强调了尝试从外部调用自调用函数会导致错误,因为它不是可引用的函数对象。
7940

被折叠的 条评论
为什么被折叠?



