我是js的新手,阅读雄辩的javascript书,但是调用堆栈部分令我困惑。这是示例代码:
counter
这就是我所观察到的,debugger和console.log是一个匿名调用。函数greet在全局范围内定义,但是当我点击第7行时,堆栈上仍然存在匿名调用,并且函数greet被添加到堆栈中?但为什么有匿名?有人可以告诉我更多关于调用堆栈和这里发生了什么?
答案 0 :(得分:3)
顶级(不在函数中)的所有代码都由JS引擎自动移动到内部函数中。您的代码将转换为:
var $wHeight = $(window).height() - 50;
这是位于调用堆栈底部的匿名函数。