如何查看javascript中当前定义的函数和变量?
PHP中有一个函数,您可以从中获得当前定义的用户定义函数列表,JS中是否有类似的功能 我正在尝试查看Firefox3中启用Firebug的函数列表如何查看javascript中当前定义的函数和变量?,javascript,function,scope,Javascript,Function,Scope,PHP中有一个函数,您可以从中获得当前定义的用户定义函数列表,JS中是否有类似的功能 我正在尝试查看Firefox3中启用Firebug的函数列表 =/到目前为止,没有一个答案是现成的没有跨浏览器的方法。在Internet Explorer中,已定义的变量和函数成为窗口对象的成员,但不可枚举。您可以在window中使用funcName检查它们是否存在,但不能在语句中使用for…枚举它们 var funcs = []; for(var prop in window) { if(window
=/到目前为止,没有一个答案是现成的没有跨浏览器的方法。在Internet Explorer中,已定义的变量和函数成为
窗口
对象的成员,但不可枚举。您可以在window中使用funcName检查它们是否存在,但不能在语句中使用for…枚举它们
var funcs = [];
for(var prop in window) {
if(window.hasOwnProperty(prop) && typeof window[prop] === 'function') {
if(window[prop].toString().indexOf("[native code]") === -1) {
funcs.push(window[prop]);
}
}
}
定义为窗口对象属性的变量是可枚举的:
function someFunc () {} // is not enumerable
window.someOtherFunc = function () {} // is enumerable
EDITJScript的实现实际上是错误的,如中所述
但我认为您不想在所有变量前面加窗口。
,是吗?有关在某些浏览器中可用的方法,请参阅。没有跨浏览器方法。在Internet Explorer中,已定义的变量和函数成为窗口
对象的成员,但不可枚举。您可以在window
中使用funcName检查它们是否存在,但不能在语句中使用for…枚举它们
定义为窗口对象属性的变量是可枚举的:
function someFunc () {} // is not enumerable
window.someOtherFunc = function () {} // is enumerable
EDITJScript的实现实际上是错误的,如中所述
但我认为您不想在所有变量前面加窗口。
,是吗?有关在某些浏览器中可用的方法,请参阅。可能过于简单,但如果启用了Firebug,请将窗口
记录到控制台。单击它将枚举所有窗口的成员。如果您需要一个快速、直观的列表,这将对您有所帮助,但如果您对所有窗口的成员采取行动,则需要使用评论中发布的其他方法之一
类似于for(窗口中的var i)
的操作将使您走上正确的轨道。可能过于简单,但如果启用了Firebug,请将窗口
记录到控制台。单击它将枚举所有窗口的成员。如果您需要一个快速、直观的列表,这将对您有所帮助,但如果您对所有窗口的成员采取行动,则需要使用评论中发布的其他方法之一
类似于for(窗口中的var i)
的东西会让您走上正确的轨道。在Firefox中运行此命令时,我遇到了一个错误。。“操作不受支持”代码:“9”@codeninja:请在上尝试此SSCCE。在Firefox中,它对我来说绝对有效@Josh:+1表示函数。我在Firefox中运行时出错。。“操作不受支持”代码:“9”@codeninja:请在上尝试此SSCCE。在Firefox中,它对我来说绝对有效@Josh:+1表示函数。我不需要跨浏览器回答。我只需要在firefox中执行此操作。上述方法返回一个error@codeninja:看起来Firefox也不允许函数和变量是可枚举的。@codeninja:Josh的代码在Firefox-SSCCE中对我很好,我不需要跨浏览器的答案。我只需要在firefox中执行此操作。上述方法返回一个error@codeninja:看起来Firefox也不允许函数和变量可枚举。@codeninja:Josh的代码在Firefox-SSCCE中对我很好