JavaScript对象反射

admin 发布于:2015-11-12 17:05 栏目: 浏览:669 评论:0
JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。
在JavaScript中没有完善的反射体系,但在编程的时候还是可以通过代码设计来实现类似反射的基本功能
<html>
<head>
<title>JavaScript反射工具</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+""
    for(key in obj){
      order++;
      assstr+=order+"----"+key+"";
    }
    Show(assstr);
  }
}
//将反射信息输出
function Show(msg){
  var showobj=document.getElementById('show');
  if(showobj){
    showobj.innerHTML="";
    showobj.innerHTML=msg;
   }
}
</script>
</head>
<body>
<div id="main">
<h1>JavaScript反射工具</h1>
<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'>p</option>
<option value='op_span'>span</option>
<option value='op_table'>table</option>
<option value='op_select'>select</option>
<option value='op_document'>document</option>
<option value='op_window'>window</option>
</select>
</div>
</body>
</html>
游客

返回顶部