如果不使用Javascript引擎,是否会从范围中删除变量?

时间:2017-04-28 00:24:25

标签: javascript

我有一个名为setupChannel的函数,它采用" socket"作为参数。我正在使用redux-thunk,因此setupChannel返回一个匿名函数,其中dispatch和getState作为参数。在匿名函数内部,调试器说socket是未定义的,除非我在函数中对socket进行了特定的引用。

使用调试器时,socket 未定义

export const setupChannel = socket => {
  return (dispatch, getState) => {
    debugger;
  }
}

此处socket是在我console.log it

时定义的
export const setupChannel = socket => {
  return (dispatch, getState) => {
    console.log(socket);
  }
}

当我简单地调用一个方法时,也定义了套接字:

export const setupChannel = socket => {
  return (dispatch, getState) => {
    socket.connect();
  }
}

所以我的问题仍然存在,为什么我在调试器中弹出或者可能在我没有引用它时它是不确定的?

0 个答案:

没有答案