let obj={
name:'yehuozhili',
age:{11:23}}functionobserver(obj){if(typeof obj !=='object'){return}for(let i in obj ){resolveGetSet(obj,i,obj[i])}}functionresolveGetSet(obj,key,value){observer(value)
Object.defineProperty(obj,key,{
enumerable:true,
configurable:true,get(){return value
},set(newVal){update()
value = newVal
observer(newVal)}})}functionupdate(){
console.log('更新');}observer(obj)
obj.age[11]=12
console.log(obj.age[11]);
obj.age[11]={32:5}
console.log(obj.age[11]);