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 = (...) => {...}
    ...
}
阅读 2.3k
2 个回答

在函数内给函数自身赋值 这种情况是会出现的
例如这个函数:

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

举个实际应用场景 有一个函数是判断当前是什么浏览器 这个函数里面有一堆判断逻辑 第一次执行的时候得出当前是ie浏览器 显然你如果第二次调用这个函数就没必要再去执行那一堆判断逻辑 只需要直接返回ie就行了
那么这种时候在这个函数里面可以在第一次执行完之后将自身赋值为另外一个新函数 这个新函数直接返回ie就行了

handleBundleComplete是一个变量
只不过这个变量一开始赋值为一个函数.
然后调用时候.这个变量再次被赋值为另一个函数.
不就是个赋值吗.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题