js中的立即执行函数简介

立即执行函数的定义:
声明一个函数,并马上调用这个匿名函数就叫做立即执行函数,也可以说立即执行函数是一种语法,让你的函数在定义以后立即执行
立即执行函数的写法:

(function(){
	// code
}())
(function(){
	// code
})()

上边的两种写法,都是以圆括号开头,引擎会意味着后面跟的是表达式,而不是一个函数定义语句,所以就避免了错误,这就叫做 “立即调用的函数表达式”

立即执行函数还有一些其他的写法(加一些小东西,不让解析成语句就可以了)

// 立即执行函数
// (function() {
// 	alert('hahahah')
// }())
// (function() {
// 	alert('hahahah')
// })()
// !(function() {
// 	alert('hahahah')
// })()
// +function() {
// 	alert('hahahah')
// }()
// -function() {
// 	alert('hahahah')
// }()
// ~function() {
// 	alert('hahahah')
// }()
// void function() {
// 	alert('hahahah')
// }()
new function() {
	alert('hahahah')
}()

上面这些函数都可以立即执行
立即执行函数的作用:

  • 不必为函数命名,避免污染全局变量
  • 立即执行函数内部形成了一个单独的作用域,可以封装一些外部无法读取的私有变量
  • 封装变量
    • 立即执行函数会形成一个单独的作用域,我们可以封装一些临时变量或局部变量,避免全局污染

你可能感兴趣的:(javascript,javascript)