搜索

首页  >  问答  >  正文

javascript 求解!

呗踩我...

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<code>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);

    };</code>

不明白这样的写法的含义?在函数内给函数自身赋值?

1

2

3

4

<code>let handleBundleComplete = async () => {

    handleBundleComplete = (...) => {...}

    ...

}</code>

天蓬老师天蓬老师2850 天前438

全部回复(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
  • 取消回复