超时后JavaScript中变量的范围

时间:2018-12-28 06:19:37

标签: javascript

function funA(){
     var varA = 'Kiran';
     setTimeout(function(){ console.log('varA-->'+varA); }, 3000);
}

funA();

输出为: Kiran

问题:

在上面的示例中,funA的执行在超时函数被调用之前完成,但是在超时函数中,我们可以看到varA的值。理想情况下,应该在调用funA之后创建的执行上下文已被删除,并且varA的值应该是未定义的,或者应该抛出未声明的错误。

如何从funA得出基兰的价值?

0 个答案:

没有答案