js 对象反射使用代码实例

快乐打工仔 分类:实例代码

本文分享一段代码实例,它演示了对象反射的使用。

js对象反射用法,涉及反射DOM对象和自定义对象,需要的朋友可以做一下参考。

代码实例如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="author" content="http://www.pipipi.net/" />
<title>前端教程网</title>
<style type="text/css">
#show{
  width:400px;height:300px;
  border:red solid 1px;
  overflow:scroll;
}
#main{
  width:500px;
  text-align:left;
  margin-left:auto;
  margin-right:auto;
}
</style>
<script type='text/javascript'>
//生成选择的反射对象并反射
function SwitchObj(){
 var obj;
 var switchobj=document.getElementById('selects');
 if(switchobj.value=="op_div"){
      obj=document.createElement("div");
  }
 if(switchobj.value=="op_select"){
      obj=document.createElement("select");
  }
 if(switchobj.value=="op_p"){
      obj=document.createElement("p");
  }
 if(switchobj.value=="op_span"){
      obj=document.createElement("span");
  }
 if(switchobj.value=="op_table"){
      obj=document.createElement("table");
  }
 if(switchobj.value=="op_tr"){
      obj=document.createElement("table");
  }
 if(switchobj.value=="op_window"){
      obj=document.createElement("window");
  }
 if(switchobj.value=="op_document"){
      obj=document.createElement("document");
  }
 Assembly(obj);
}
//反射对象
function Assembly(obj){
  var order=0;
  if(obj){
    var assstr="反射对象:"+obj.tagName+"<br/>"
    for(key in obj){
      order++;
      assstr+=order+"----"+key+"<br/>";
    }
    Show(assstr);
  }
}
//将反射信息输出
function Show(msg){
  var showobj=document.getElementById('show');
  if(showobj){
    showobj.innerHTML="";
    showobj.innerHTML=msg;
   }
}
</script>
</head>
<body>
<div id="main">
<div id="show"></div>
<input type="button" id="btn_assembly" value="反射" onclick="SwitchObj('select');" />
<select id="selects">
  <option value='op_div'>div教程</option>
  <option value='op_p'>前端教程网二</option>
  <option value='op_span'>span元素</option>
  <option value='op_table'>表格教程</option>
  <option value='op_select'>下拉菜单</option>
  <option value='op_document'>文档</option>
  <option value='op_window'>softwh.com</option>
</select>
</div>
</body>
</html>

回复

我来回复
  • 暂无回复内容