Javascript 从Chrome开发工具(js名称空间)访问变量
我正在做一个关于Meteor的教程,很早的时候我就遇到了一个问题,从我的开发工具控制台访问变量“list”(在Firefox中也会发生)Javascript 从Chrome开发工具(js名称空间)访问变量,javascript,namespaces,meteor,Javascript,Namespaces,Meteor,我正在做一个关于Meteor的教程,很早的时候我就遇到了一个问题,从我的开发工具控制台访问变量“list”(在Firefox中也会发生) 显然Meteor将主js文件包装在一个匿名的自实例化函数中,这很酷,因为否则我可能自己也会这样做,但似乎我无法从浏览器访问此函数的属性,除非在函数完成之前暂停代码 我很早就开始学习教程了,所以我基本上只是建立了一个新项目并添加到了一个集合中,但无法访问它来开始填充任何演示数据。下面的屏幕截图应概述问题。如果我在第22行放置断点,我将能够访问集合 最近,我在另一
显然Meteor将主js文件包装在一个匿名的自实例化函数中,这很酷,因为否则我可能自己也会这样做,但似乎我无法从浏览器访问此函数的属性,除非在函数完成之前暂停代码 我很早就开始学习教程了,所以我基本上只是建立了一个新项目并添加到了一个集合中,但无法访问它来开始填充任何演示数据。下面的屏幕截图应概述问题。如果我在第22行放置断点,我将能够访问集合 最近,我在另一个项目中遇到了同样的问题,即使当我看到其他人的项目时,他们似乎也在做同样的事情,所以也许我遗漏了一些小细节
(如果您感兴趣,我正在编写Isaac Strack的《流星入门》一书中的第一个教程。顺便说一句,这段代码在他的书中非常有效)为什么您希望以您在控制台中尝试的方式访问
列表
当封装函数(封装代码的函数)退出时,列表
在任何方面对您都不可用-它在所有其他封装函数闭包中,因此它们的代码可以访问它,这应该是全部目的
然而,它是从“外部”世界“隐藏”的——对于不在同一范围内的任何代码,在本例中,这就是包装函数的范围
将断点放置在第22行将停止执行并“允许您”进入包装函数范围,这就是为什么在这种情况下可以看到列表。为什么希望以您在控制台中尝试的方式访问列表
当封装函数(封装代码的函数)退出时,列表
在任何方面对您都不可用-它在所有其他封装函数闭包中,因此它们的代码可以访问它,这应该是全部目的
然而,它是从“外部”世界“隐藏”的——对于不在同一范围内的任何代码,在本例中,这就是包装函数的范围
将断点放置在第22行将停止执行并“允许您”进入包装函数范围,这就是为什么在这种情况下可以看到列表。为什么希望以您在控制台中尝试的方式访问列表
当封装函数(封装代码的函数)退出时,列表
在任何方面对您都不可用-它在所有其他封装函数闭包中,因此它们的代码可以访问它,这应该是全部目的
然而,它是从“外部”世界“隐藏”的——对于不在同一范围内的任何代码,在本例中,这就是包装函数的范围
将断点放置在第22行将停止执行并“允许您”进入包装函数范围,这就是为什么在这种情况下可以看到列表。为什么希望以您在控制台中尝试的方式访问列表
当封装函数(封装代码的函数)退出时,列表
在任何方面对您都不可用-它在所有其他封装函数闭包中,因此它们的代码可以访问它,这应该是全部目的
然而,它是从“外部”世界“隐藏”的——对于不在同一范围内的任何代码,在本例中,这就是包装函数的范围
在第22行放置断点将停止执行并“允许您”进入包装函数范围,这就是为什么在这种情况下您可以看到列表。您可以在函数中设置窗口属性以在任何点访问
var lists = yadayadayada;
window.lists = lists;
然后,您将能够在开发工具控制台中查看列表。您可以在函数中设置窗口
属性,以便在任何时候访问
var lists = yadayadayada;
window.lists = lists;
然后,您将能够在开发工具控制台中查看列表。您可以在函数中设置窗口
属性,以便在任何时候访问
var lists = yadayadayada;
window.lists = lists;
然后,您将能够在开发工具控制台中查看列表。您可以在函数中设置窗口
属性,以便在任何时候访问
var lists = yadayadayada;
window.lists = lists;
然后,您将能够在开发工具控制台中看到列表。我不知道您为什么要这样做。调试工具的存在是有原因的。我试着为一个“黑客”解决方案做上述操作(毕竟这不是生产代码),但窗口变量导致meteor崩溃(毕竟它不是js规范的一部分,但据我记忆所及,它是一个浏览器功能)。解决方案是使用调试器或通过删除var对其进行破解,使变量成为全局变量。@funkyYeswindow
在Node.js上不可用。Node.js全局变量称为global
。在任何一种情况下,这个
引用全局变量,只要你不是在严格模式函数或对象方法中。我不知道你为什么要这样做。调试工具的存在是有原因的。我试着为一个“黑客”解决方案做上述操作(毕竟这不是生产代码),但窗口变量导致meteor崩溃(毕竟它不是js规范的一部分,但据我记忆所及,它是一个浏览器功能)。解决方案是使用调试器或通过删除var对其进行破解,使变量成为全局变量。@funkyYeswindow
在Node.js上不可用。Node.js全局变量称为global
。在任何一种情况下,这个
引用全局变量,只要你不是在严格模式函数或对象方法中。我不知道你为什么要这样做。调试工具正在使用中