var temp = {a:{'e':11}}; var o ={}; Object.defineProperty(o, 'a', { get: function() { console.log('get!'); return temp.a; }, set: function(value) { console.log('set!'); } }); console.log(o.a); console.log('--以下不执行set') o.a.e = 44; console.log('--以下执行set'); o.a = {}