Object.defineProperty() 方法设置属性时,属性不能同时声明访问器属性( set 和 get )和 writable 或者 value 属性. 意思就是,某个属性设置了 writable或者 value 属性,那么这个属性就不能声明 get 和 set 了,反之亦然. 因为 Object.defineProperty() 在声明一个属性时,不允许同一个属性出现两种以上存取访问控制. 1 2 3 4 5 6 7 8 9 10 11 var o = {}, myName = 'e