<SCRIPT LANGUAGE="JavaScript">
<!--
  function demo(){
       var talk = "hello";
       this.say= function(){
             return this.talk;
         }
    }//实例化2个类var d1 = new demo();
alert(d1.constructor.toString().match(/function\s+([^ \(]+)\s*\(/i)[1])
//-->
</SCRIPT>

解决方案 »

  1.   

    感谢梅大侠出手相助,不胜感激。我试了一下,果然是可以的。但还有个问题,如果是以下这种写法:var obj = new Object;
    obj.demo = function(){
           var talk = "hello";
           this.say= function(){
                 return this.talk;
             }
        }
    有没有办法得到?
      

  2.   

    这样的定义,obj.demo 对应的本来就是一个无名函数,用 new obj.demo().constructor 也可以验证它确实是一个无名函数,当然也就没有办法取到这个函数名了;