数据属性:
Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并且返回此对象。
该方法三个参数 obj prop descripton ,分别为对象 属性 描述符(数据描述符,存取描述符)
描述符对象属性必须是configurable, enumerable, writable和value
configurable 为true时,该对象属性可以被改变,默认为false
enumerbale 为true, 该对象属性可以被枚举,默认为false
writable 为true时,该对象属性可以被修改,默认为false
value,该对象属性的值,默认为undefined
存取描述符为get和set函数,该描述符不能和value,writable同在
get函数在读取该属性时会被回调,值可以为该函数返回值
set函数在该属性赋值时会被回调, 参数为被赋值的value