搜尋

首頁  >  問答  >  主體

javascript 求解!

唄踩我...

let handleBundleComplete = async () => {
      //不知道什么意思...
      handleBundleComplete = stats => !stats.stats[1].compilation.errors.length && runServer();

      const server = await runServer();
      const bs = browserSync.create();

      bs.init({
        ...isDebug ? {} : { notify: false, ui: false },

        proxy: {
          target: server.host,
          middleware: [wpMiddleware, hotMiddleware],
          proxyOptions: {
            xfwd: true,
          },
        },
      }, resolve);
    };

不懂這樣的寫法的意思?在函數內給函數自身賦值?

let handleBundleComplete = async () => {
    handleBundleComplete = (...) => {...}
    ...
}
天蓬老师天蓬老师2815 天前413

全部回覆(2)我來回復

  • 大家讲道理

    大家讲道理2017-05-19 10:44:45

    在函數內給函數自身賦值 這種情況是會出現的
    例如這個函數:

    function oneAddTwo () {
    let result = 1 + 2
    oneAddTwo = function () {return result}
    return result
    }

    舉個實際應用場景有一個函數是判斷當前是什麼瀏覽器這個函數裡面有一堆判斷邏輯第一次執行的時候得出當前是ie瀏覽器顯然你如果第二次調用這個函數就沒必要再去執行那一堆判斷邏輯只需要直接返回ie就行了
    那麼這種時候在這個函數裡面可以在第一次執行完之後將自身賦值為另外一個新函數這個新函數直接返回ie就行了

    回覆
    0
  • 迷茫

    迷茫2017-05-19 10:44:45

    handleBundleComplete是一個變數
    只不過這個變數一開始賦值為一個函數.
    然後呼叫時候.這個變數又被賦值為另一個函數.
    不就是個賦值嗎.

    回覆
    0
  • 取消回覆