从第一次发表文章,到现在才发表第二篇,个人认为不行的,我就不会发出来。。
这几天一直在找Javascript的所有对象的属性与方法,没有办法,只好自己随便写一个了。。先用着,大家如果有更好的可以拿出来分享,获得对象后再查资料,不是更快吗?
<!--
---------------------------------------------------------
Write By YYUJ
作用是:枚举对象的所有成员信息
---------------------------------------------------------
//-->
<form name="form1" method="post" onSubmit="return getinfo();">
<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>