以下代码将会发生什么?

49 阅读1分钟
let config = {
    alert: setInterval(() => {
        console.log('Alert!');
    }, 1000)
}

config = null;
  1. setInterval 的加高不会被调用
  2. setInterval 的回调被调用一次
  3. setInterval 的回调仍然会被每秒钟调用
  4. 我们没有调用过 config.alert(),config 为 null

答案选3

因为是箭头函数,所以上下文绑定到对象config了,回调函数仍然保留着对config的引用。