JS 中的立即執(zhí)行函數(shù)

作者:辰風(fēng)沐陽(yáng) 閱讀:1396 發(fā)布時(shí)間:2023-03-02 上次更新:2023-03-10

1. 立即執(zhí)行函數(shù)介紹


JS 的立即執(zhí)行函數(shù): 函數(shù)在創(chuàng)建后立即執(zhí)行

立即執(zhí)行函數(shù)的作用只有一個(gè): 創(chuàng)建一個(gè)獨(dú)立的作用域,這個(gè)作用域里面的變量,外面訪問(wèn)不到,即:避免了變量污染

  1. const user = 'maria';
  2. (function () {
  3. const user = 'hello'
  4. const age = 18
  5. }());
  6. console.log(user); // maria
  7. console.log(age); // Uncaught ReferenceError: age is not defined

2. 立即執(zhí)行函數(shù)語(yǔ)法


使用 function 關(guān)鍵字

  1. // 第一種寫法
  2. (function () {
  3. // 函數(shù)體
  4. })();
  5. // 第二種寫法
  6. (function () {
  7. // 函數(shù)體
  8. }());

箭頭函數(shù)的寫法

  1. // 第一種寫法的箭頭函數(shù)形式(正確語(yǔ)法)
  2. (() => {
  3. // 函數(shù)體
  4. })();
  5. // 第二種寫法的箭頭函數(shù)形式(錯(cuò)誤語(yǔ)法)
  6. (() => {
  7. // 函數(shù)體
  8. }());

接收立即執(zhí)行函數(shù)的返回值

  1. const res = function (...params) {
  2. return params
  3. }('html', 'css', 'js');
  4. const res = ((...params) => {
  5. return params
  6. })('html', 'css', 'js');

標(biāo)簽: JavaScript