JavaScript反射读取Object属性

最近需要用到JS的反射机制读取对象属性,类似Java中的自省,所以写了一个显示对象属性的小函数。

 

函数代码:

var array = new Array();
function showType(obj) {
	for(var i in obj){
		if(typeof(obj[i]) == 'object') {
			showType(obj[i]);
			array.push("Class " + i);
		} else {
			if(typeof(obj[i]) != 'function'){
				array.push("\t" + typeof(obj[i]) + " " + i + " = " +obj[i] + ";");
			}
		}
	}
}

 

调用代码:

			showType(JSONData);
			array.reverse();
			alert(array.join("\n"));
			array = new Array();

 

另外可以通过eval方法使用字符串来读取对象属性,如:

alert(eval("JSONData.settings.animation.enabled"));

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值