内置函数是否会添加到调用堆栈中?

时间:2017-04-29 19:36:13

标签: javascript

我是js的新手,阅读雄辩的javascript书,但是调用堆栈部分令我困惑。这是示例代码:

counter

这就是我所观察到的,debugger和console.log是一个匿名调用。函数greet在全局范围内定义,但是当我点击第7行时,堆栈上仍然存在匿名调用,并且函数greet被添加到堆栈中?但为什么有匿名?有人可以告诉我更多关于调用堆栈和这里发生了什么?

1 个答案:

答案 0 :(得分:3)

顶级(不在函数中)的所有代码都由JS引擎自动移动到内部函数中。您的代码将转换为:

var $wHeight = $(window).height() - 50;

这是位于调用堆栈底部的匿名函数。