快捷搜索: 王者荣耀 脱发

JavaScript中函数的自调用(自执行函数)

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);
经验分享 程序员 微信小程序 职场和发展