是否有任何语言(或调试工具)具有内置函数或方法来打印作用域链?
有没有语言或调试工具有办法打印出作用域链来检查,以便查看作用域链包含的不同情况?
Does any language or debug tool have a way to print out the scope chain for examination, so as to look at the different situations of what a scope chain contains?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Firebug 适用于 JavaScript。在“脚本”调试器的“监视”选项卡上,您可以打开作用域链列表来查看每个父作用域。
如果您获取代码对象,Python 可以从语言本身的父作用域中读取局部变量,但它处理嵌套作用域的方式意味着只有实际使用的作用域变量才会被绑定:
尽管
v1
和v2
是在父作用域中定义的,只有v1
实际上是封闭的。Firebug does for JavaScript. On the ‘Watch’ tab of the ‘Script’ debugger you can open up the scope chain list a look at each parent scope.
Python can read locals from a parent scope in the language itself if you grab a code object, but the way it handles nested scopes means that only the scoped variables that are actually used are bound:
Though both
v1
andv2
are defined in the parent scope, onlyv1
is actually closed over.