我在JavaScript中创建了函数表达式:
var MKObjects = MKObjects || {};
MKObjects.spReporting = (function () {
// methods
})();
它工作正常 - 问题是:如何在控制台窗口中找到它?
它没有在全局命名空间中创建 - 它显然没有在窗口对象上定义。
当我在控制台窗口中输入MKObjects
或MKObjects.spReporting
时,我什么都没得到。
答案 0 :(得分:0)
如果您只是尝试调试它,那么当调试器仍在同一范围内时,您可以在赋值后立即放置断点。
否则,如果MKObjects
不是全局的且无法从全局变量(即全局变量中的字段)访问,那么您将无法从控制台访问它。
例如:
(function() {
var x = ...;
})()
您无法在调试器中访问x
,因为它在全局范围内不可见。
var x;
(function() {
x = ...;
})()
您可以访问x
,因为它是全球性的。
var y;
(function() {
var x = ...;
y.propertyX = x;
})()
您可以x
y
全球访问y.propertyX
(function() {
var x = ...;
debugger; // or breakpoint
})()
当代码执行到此时,您将从调试器窗口临时访问x
。
您的赋值是匿名立即调用函数的结果这一事实无关紧要。