如何在VS调试环境中知道js根对象(或顶级对象 不知道是否有这种说明)下有多少用户定义的函数?
<html>
<body>
<script type="text/javascript">
function aaaa()
{
 alert("OK");
}
</script>
<input type="button" value="test" onclick="debugger;aaaa();" />
</body>
</html>
比如以上代码,在VS编辑环境中,script 内部(比如第8行)按一下Ctrl+J就可以出现 aaaa,但也出现一些系统自带的函数,太多了一点
想在调试时看到,用“局部变量”窗口,没有任何东西。类视图,也没有任何东西。快速监视各类已知的对象(比如 document, window, this 等),都无法找到 aaaa,唯一能知道 aaaa 的存在就是监视内容输入 aaaa 显示如下结果:
aaaa {...} Object
scripts[0]有包含它的定义,但aaaa即使错了(比如 function 写成 Function 了)scripts[0]也是显示正常。即是否存在什么方法能在快速监视中体现出:
xxxx
  aaaa
  以及其它用户函数
这个XXXX是什么?

解决方案 »

  1.   

    同学,javascript是解析型脚本,不要把你对.net语言的知识强加到她头上
      

  2.   

    好像这个功能与“解释型脚本”没有必然联系。JS也是对象模式的,在系统中事实上是存在这个对象的(有些文档称之为global对象),就是VS如何把它给体现出来,甚至说体现得再完美一些(因为在编辑状态下事实上可以体现了CTRL+J,只是含了较多的系统自带函数)。
      

  3.   

    有网络上的解释
    "而当没有对象来调用这个函数,即直接调用时,如下:test();
    因为在js中,全局的定义默认都是window的属性或对象,所以这里的调用,实际上是如下调用:window.test();"即,我想找的global就是window
    但,VS监视窗口没有把window中,用户定义的函数体现出来,因此检验代码的正确性可能有一些麻烦,因此,如果我想人为地增加一个对象,并且把我们的函数都放在这个对象中,这样,如果代码写错,被检查出来的可能性就增加很多了。
    var uF = {
     aaaa:function()
     {
      alert("OK");
     },
     
     eeee:Function()
     {
      alert("eeee");
     }
    };
    我写了这样的代码时,发现它就有“一损俱损”的特点,在监视中,uF根本就是未定义。甚至在写VS中写代码,uF.之后就出不来了。
    如果修正我的Function的错误之后,即可以快速监视看出uF的相应成员。达到我的目的了。