比如一个播放器的object对象。
它的属性有
id
width
height
sytle
url
src
还有很多属性这里略。它的方法有
1)播放
Play():        
2)停止                        
Stop():        
3)暂停
Pause(): 
等,还有很多,略。如ID=player用for (prop in player)方法可以枚举出所有属性,但是得不到象play和stop等方法。请问有什么办法可以得到所有object的方法呢。我是想将某object的所有方法全部列出。只要得到方法名就行,代码可以不要。

解决方案 »

  1.   


    function ClassA(){
        this.a = 1;
    }ClassA.prototype = {
        func: function(){
            alert(this.a);
        }
    }for (var item in ClassA.prototype) {
        alert(item);
    }for (var item in new ClassA()) {
        alert(item);
    }
    具体要看设计者了,运行时原型附加得看代码才行。
      

  2.   

    你可以看看上面代码ClassA实例化与不实例化区别。
      

  3.   

    非常感谢楼上的回答,在这里万分感谢。
    不过这样好象也得不到对象的方法。自已写的方法可以得到,但是系统方法就得到了。
    我把代码放过来请帮着分析一下,谢谢。<object classid="clsid:F3D0D36F-23F8-4682-A195-74C92B03D4AF" width="500" height="400" id="QvodPlayer" name="QvodPlayer" onError=if(window.confirm('请您先安装QvodPlayer软件,然后刷新本页才可以正常播放.')){window.open('http://www.qvod.com/download.htm')}else{self.location='http://www.qvod.com/'}><PARAM NAME='URL' VALUE='此处请替换成QVOD播放链接地址'><PARAM NAME='Autoplay' VALUE='1'>  </object>
    方法接口: 
    1)播放
    Play():        
    2)停止                        
    Stop():        
    3)暂停
    Pause(): 它还有好多方法没有公开,我想列出全部方法。
      

  4.   

    不知道书写的这段代码是否对你有用
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML>
     <HEAD>
      <TITLE> New Document </TITLE>
      <META NAME="Generator" CONTENT="EditPlus">
      <META NAME="Author" CONTENT="">
      <META NAME="Keywords" CONTENT="">
      <META NAME="Description" CONTENT="">
     </HEAD> <BODY>
         <script language="javascript">
            var obj={};
    obj.name="yuqiang";
    obj.fun=test;
    function test()
    { } for(var o in obj)
    {
               alert(typeof(obj[o])+"============"+o)
    }
     </script>
     </BODY>
    </HTML>
    其中输出结果是
    string=============name
    function===========fun
      

  5.   

    得出指定ID对象的所有 属性 和 方法,LZ 看看。
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>JS获取对象的所有属性方法和对应的值</title>
    </head>
    <style type="text/css"> 
    body,td,div,input,fieldset,legend{font-family:Verdana; font-size:12px; color:#333333; font-weight:normal;}
    td{line-height:20px;}
    a:link,a:visited{font-family:Verdana; font-size:12px; color:#330099; font-weight:normal; padding:0px 3px; text-decoration:none;}
    a:hover,a:active{font-family:Verdana; font-size:12px; color:#FF6600; font-weight:normal; }
    span{font-family:Verdana; font-size:12px; color:red; font-weight:normal; display:block; margin:0px 10px;}
    .cur01{background-color:#00CCFF; color:#FF3300; font-weight:bold;}
    </style>
    <script type="text/javascript" language="javascript">
    function getXProperty(objID){
    var oID=objID
    var obj=document.getElementById(oID);
    var nv="";
    var i=0;
    document.getElementById("prolist").innerHTML="<hr size='1' color='red'>";
    for(var xitem in obj){ //obj.attributes
    i++;
    document.getElementById("prolist").innerHTML+=(i<100 ? (i<10 ? '00'+i : '0'+i) : i)+" Name:<b> "+xitem+"</b>";
    document.getElementById("prolist").innerHTML+=" -------------------- ";
    eval("nv=obj."+xitem+"");
    document.getElementById("prolist").innerHTML+="值:<font color=red> "+(nv==null ? '空' : nv )+"</font><br>";
    }
    }
    </script>
    <body>
    <p>
    <a id="link01" name="linkName01" title="link 01" href="http://www.baidu.com">百度 http://www.baidu.com</a>
    <input name="btn01" type="button" onClick="javascript:getXProperty('link01');" value="获取 a 对象的所有属性方法">
    </p>
    <p>
    <object id="xMediaPlayer" width="406" height="68" classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6">
    <param name="AutoStart" value="1" />
    <param name="url" value="http://www.eecosway.com/pub1209363811377.mp3" />
    <param name="src" value="http://www.eecosway.com/pub1209363811377.mp3" />
    <param name="PlayCount" value="1" />
    <param name="EnableContextMenu" value="0" />
    <param name="Volume" value="100" />
    <embed src="" name="MediaPlayer" type="video/x-ms-wmv" width="406" height="68" autostart="1" showcontrols="1" allowscan="1" playcount="100" enablecontextmenu="0"></embed>
    </object> 
    <input name="btn01" type="button" onClick="javascript:getXProperty('xMediaPlayer');" value="获取 object 对象的所有属性方法">
    <br>
    created:2009-12-04 <br>
    author: shenzhenNBA
    </p>
    <div id="prolist"></div>
    </body>
    </html>
      

  6.   

    这个因为有了客户端插件,难说如何实现。如果是用JS封装的对象,可以枚举出来。 具体哪些枚举不出来要看JS虚拟机的设计了。
    枚举不出来,我置疑的地方是运行时,谁知道他什么时候附加原型上去~
      

  7.   

    使用脚本调试器,比如vs2008或者是FF,可以看到对象的属性及方法的列表。