JavaScript中的函数可以自调用也就是可以自己执行,当执行环境执行到该函数时该函数自己就运行。要了解自执行函数首先要了解函数的几种定义方式,前面的章节讲过函数的三种定义方式,但是最常用的就两种:函数申明和函数表达式。
//函数申明
function f(a,b){
console.log(a+b);
}
//函数表达式
var fn = function(a,b){
console.log(a+b);
}
而且函数申明和函数表达式因为存在申明的提升导致调用时机也不一样:函数申明可以在申明函数之前调用,因为浏览器引擎在解析时会把申明提前,函数表达式只能在定义之后调用。
f(1,2);//正常输出3
function f(a,b){
console.log(a+b);
}
fn(1,2);//这里会报错:fn is not a function
var fn = function(a,b){
console.log(a+b);
}
函数的自调用针对函数申明和函数表达式实现方式不一样:
函数申明可以使用(),+,-,!等在函数前面实现申明函数的自调用,但是一般常用就两种:1、使用()实现;2、使用 ! 实现
//使用()实现自调用
(function f(a,b){
console.log(a+b);
}(1,2));
//使用 ! 实现自调用
!function f1(a,b){
console.log(a+b);
}(1,2);
//使用 + 实现自调用
+function f1(a,b){
console.log(a+b);
}(1,2);
//使用 - 实现自调用
-function f1(a,b){
console.log(a+b);
}(1,2);
对于函数表达式直接在函数表达式后面加()带上参数实现:
var f = function(a,b){
console.log(a+b);
}(1,2);
本文深入探讨了JavaScript中函数的自调用特性,包括函数声明和函数表达式的自调用实现方式,以及调用时机的区别。通过具体示例,解释了如何使用不同前缀如()、!、+、-来实现函数的自执行。
&spm=1001.2101.3001.5002&articleId=103240512&d=1&t=3&u=9d5c11e58e7545428ab9a65f269054bc)
6155

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



