查询JavaScript的执行环境&蟒蛇

时间:2014-04-13 19:17:57

标签: javascript python

link1上运行JavaScript代码(上半部分)和link2上的python代码(下半部分)后检索下图

enter image description here

我的问题:

我看到名字foo& bar已经位于JavaScript执行环境(EE)的全局框架(蓝色)中,与python的EE不同?在开始解释之前,JavaScript解释器是如何知道这两个名字的?

1 个答案:

答案 0 :(得分:2)

  

在开始解释之前,JavaScript解释器是如何知道这两个名字的?

这就是所谓的hoisting。在引擎执行任何代码行(函数)之前,它会查找所有变量和函数声明,并在当前环境(§10.5, steps 5 and 8)中创建绑定。在变量声明的情况下,值为undefined,因为尚未进行赋值。

显然 Python 不会那样工作,但我对其内部工作方式不够熟悉,不能给出权威的答案。