Backbone.js Chrome javascript工具:全局、闭包和局部范围
我正在Chrome javascript控制台中玩一个主干日历应用程序(它可以让你在日历上发布事件),注意在右侧(见图),它有一个显示本地、关闭和全局范围的面板。在这个特定的应用程序中,我在EventsView中设置了调试器,Chrome告诉我事件(一个模型)和EventView(一个特定事件的视图)在闭包范围内 我有点了解全局、封闭和局部。全局作用域可以是全局命名空间中的任何内容。Local是当前范围内的所有变量。你能用实际的术语解释一下,事件和事件视图在闭包范围内意味着什么,以及这将如何提高我对应用程序如何工作的理解……这能为我提供什么见解?另外,你会注意到,在局部范围内,“this”被称为“child”。为什么?父母会是什么样的人Backbone.js Chrome javascript工具:全局、闭包和局部范围,backbone.js,google-chrome-devtools,Backbone.js,Google Chrome Devtools,我正在Chrome javascript控制台中玩一个主干日历应用程序(它可以让你在日历上发布事件),注意在右侧(见图),它有一个显示本地、关闭和全局范围的面板。在这个特定的应用程序中,我在EventsView中设置了调试器,Chrome告诉我事件(一个模型)和EventView(一个特定事件的视图)在闭包范围内 我有点了解全局、封闭和局部。全局作用域可以是全局命名空间中的任何内容。Local是当前范围内的所有变量。你能用实际的术语解释一下,事件和事件视图在闭包范围内意味着什么,以及这将如何提高
在这里阅读关于闭包的内容: 但简单的回答是,假设您在下面第6行的断点处暂停,变量“全局”将出现在调试工具的“全局变量”部分,“闭包”将出现在“闭包”部分,而“局部”将出现在“局部”部分:
1 var global = 'foo';
2
3 function bar() {
4 var closure = 'baz';
5 function oof() {
6 var local = 'rab'; // stopped on a breakpoint on this line
7 }
8 }
调试时,了解需要查找多少个闭包才能找到变量定义、它可能应用于多少其他上下文、在局部范围内更改它的后果等都很有帮助。请阅读这里的闭包: 但简单的回答是,假设您在下面第6行的断点处暂停,变量“全局”将出现在调试工具的“全局变量”部分,“闭包”将出现在“闭包”部分,而“局部”将出现在“局部”部分:
1 var global = 'foo';
2
3 function bar() {
4 var closure = 'baz';
5 function oof() {
6 var local = 'rab'; // stopped on a breakpoint on this line
7 }
8 }
在调试时,了解需要查找多少个闭包才能找到变量定义、它可能应用于多少其他上下文、在局部范围内更改它的结果等非常有用。假设
global
和local
是有效的identifiers@glortho所以在我发布的图片中,EventsView在某种程度上是“在”事件模型和EventView中的,就像函数oof在bar中一样,这就是为什么事件模型和EventView被列为闭包的原因吗?实际上,从控制台可以推断出,对#render的调用的范围与定义或引用事件和EventView的范围相同,它们都不是本地引用的。但是…您可以升级调用堆栈以查看更多内容。假设global
和local
有效identifiers@glortho因此,在我发布的图像的上下文中,EventsView在某种程度上是“在”事件模型和EventView中的,就像函数oof在bar中一样?,这就是事件模型和事件视图被列为闭包的原因吗?实际上,从控制台可以推断出,对#render的调用的范围与定义或引用事件和事件视图的范围相同,并且它们都不是本地引用的。但是……您可以升级调用堆栈以查看更多信息。