Javascript所有對象的屬性的擷取

來源:互聯網
上載者:User
javascript|對象  

從第一次發表文章,到現在才發表第二篇,個人認為不行的,我就不會發出來。。

這幾天一直在找Javascript的所有對象的屬性與方法,沒有辦法,只好自己隨便寫一個了。。先用著,大家如果有更好的可以拿出來分享,獲得對象後再查資料,不是更快嗎?

<!--
---------------------------------------------------------
 Write By YYUJ
 作用是:枚舉對象的所有成員資訊
---------------------------------------------------------
//-->
<form name="form1" method="post" >
 <input type="text" name="objname" size="20" value="document">
 <input type="submit" value="OK">
</form>
 <script language="javascript">
 <!--
 function getinfo()
 {
 var obj=document.form1;
 getobj(obj.objname.value);
 return false;
 }
 function getobj(mObjname)
 {
  // 建立變數
  var objarray = new Array(); // 用來儲存變數名稱的數組
  var objname=mObjname;   // 接收外面傳進來的對象名稱(字元型)
  var typename;
  //-- 出錯處理
  try
  {
   // 枚舉對象的所有成員資訊
   for(var i in eval(objname))
   {
   objarray[objarray.length++] = i;
   }
  //-- 獲得用來存放資訊的DIV標籤
  var objinfo=document.getElementById("objinfo")
  objinfo.innerHTML=""
  objinfo.innerHTML="ObjName:<b style='color=#ff0000'>"+objname+"</b><br>"
  //-- 如果沒有存在任何成員就返回
  if(objarray.length==0)
  { 
   objinfo.innerHTML="ObjName:<b style='color=#ff0000'>"+objname+"</b> --沒在存在任何成員";
   return;
  }
  //-- 對數組進行排序
  objarray.sort();
  //-- 對輸出資訊作進一步處理
   for(var k=0;k<objarray.length;k++)
   {
   typename=typeof(eval(objname+"."+objarray[k]))
   //-- 如果是對象就直接進行連結,否則不顯示
   if("object"==typename)
   {
    objinfo.innerHTML=objinfo.innerHTML+"         |--<a href=\"javascript:getobj('"+objname+"."+objarray[k]+"')\">"+objarray[k]+"</a>  ====================  "+typename
   }
   else
   {
    objinfo.innerHTML=objinfo.innerHTML+"         |--"+objarray[k]+"  ====================  "+typename
   }
   //-- 加底線,主要是為了美觀
   objinfo.innerHTML=objinfo.innerHTML+"<br>         ---------------------------------------------------<br>"
   }
  }
  catch (e)
  {
  alert("您輸入的不是正確的對象,請輸入正確的對象!\n\n如果是,請輸入首碼,\n\n如,我要查詢Body,那麼我輸入document.body");
  }
}
 //-->
 </script>
 <div name="objinfo" id="objinfo"></div>



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.