本文介绍JavaScript中对象反射的实用技巧,涵盖如何动态生成并反射DOM元素及自定义对象。通过SwitchObj函数演示根据下拉选择反射不同对象(如div、table、select等),帮助开发者理解反射机制在程序设计中的应用。
JavaScript对象反射用法详解
本文通过具体实例解析JavaScript对象反射的应用方法,供读者参考学习。
内容主要涉及JavaScript中针对DOM对象和自定义对象的反射操作技术。
<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+"<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">
<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>
希望上述内容能为各位的JavaScript程序设计提供有益帮助。