首先这是es5新增的;定义是设置和获取对象属性时候出发的方法,属于修饰器;
犀牛书例子:
function test(n){ return { get count(){ return n }, set count(m){ if(m>=n){ n=23 } } } };函数返回对象,当设置count的属性时候,会触发set判断,如果新的值大于n,那么为23;get就是获取这个属性时候出发的; var c=test(10); c.count=104; console.log(c.count);该方法等同于
function Person() { var age = new Date().getFullYear() - 18; Object.defineProperty(this, "age", { get: function () { alert("内部存储数据为:" + age); return new Date().getFullYear() - age; }, set: function (value) { age = value; } }); }
时间: 2024-10-24 10:40:45