前言
😬在我们进行平时的开发时候我们经常会使用函数,但是我们并不经常使用立即执行函数,这篇文章我们将讲解下立即执行函数的使用以及不同的写法与使用场景。
一.立即执行函数
🐔立即执行函数顾名思义就是在定义完成之后直接就执行的函数,立即执行函数的定义有两个部分。
- 第一部分定义了一个匿名函数
()
表示这个函数有自己独立的作用域。 - 第二部分
()
表示这个函数被执行了。
js
(
function () {
console.log("Hello World")
}
)()
😳立即执行函数的变量传递方式:
js
(
function (name) {
console.log(name)
}
)('约翰')
🐸立即执行函数的应用场景
- 实现变量私有解决命名冲突
js
var count = 100
let sum = (
function () {
var count = 0
function foo () {
count++
console.log(count)
}
return {
foo: foo
}
}
)()
sum.foo() // 1
console.log(count) // 100
- 在原生开发中进行接口请求初始化数据
js
(function() {
// 初始化 AJAX 对象
var xhr = new XMLHttpRequest();
// 设置回调函数
xhr.onreadystatechange = function() {
if (xhr.readyState === 4 && xhr.status === 200) {
var response = JSON.parse(xhr.responseText);
// 处理响应数据
}
};
// 发送 AJAX 请求
xhr.open('GET', 'https://api.example.com/data', true);
xhr.send();
})();
🐣立即执行函数的其他写法,除了上述的写法外,下列这些写法也可以进行函数的立即执行,但是不推荐。
js
+function () {
console.log("立即执行函数")
}()
!function() {
console.log("立即执行函数")
}();
-function () {
console.log("立即执行函数")
}()
~function () {
console.log("立即执行函数")
}()