文章目录
自调用函数:只能自己在定义的同时调用自己一次,对外界不可见。
- 语法
// 函数名加与不加都可以
(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