编写以下内容将导致对 Function
构造函数进行求值,从而导致全局对象上存在指向函数对象实例 Foo
的属性.
function Foo() {}
执行上下文是在调用函数时创建的,因此即使没有调用 Foo
,是否也会创建除全局执行上下文之外的执行上下文?
我的想法如下:
JavaScript 中的一切都是对象(与基元相关的小异常(exception))。对象是由函数创建的。 Foo
是一个对象。已调用函数。
最佳答案
根据上面的长评论列表回答我自己的问题。
不会创建执行上下文,因为执行上下文仅对用户定义的代码有意义。对于JavaScript引擎的内部操作,例如问题代码中创建函数对象Foo
的精确机制,则留给引擎实现者。
关于javascript - 为什么这里没有创建执行上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27214718/