失误,不知道javascript有反射机制,我的错,呜呜呜~
现在粘贴核心测试代码,看看javascript的反射机制。
简单代码
这段语句遍历obj对象的所有属性和方法,遇到属性则弹出它的值,遇到方法则立刻执行
function callBack(options){
for(var p in options){
if(typeof(options[p]) =="function"){
(options[p])();
}else if(typeof(options[p])=='object' && (options[p]).constructor != Array){
callBack(options[p]);
}else{
console.log(p + ' : ' + options[p])
}
}
}
测试
callBack({
name:'tom',
age:11,
eat:function(){
console.log(this.name+'正在吃饭');
},
child:{
name:'son',
age:2,
eat:function(){
console.log(this.name+'正在吃饭');
}
}
});
总结:什么反射机制,就是普通的属性遍历。