var obj =
return this.log[this.log.length - 1];
},set latest(name)
};
由 getter 和 setter 定義的 latest 屬性被稱作「訪問器屬性」或「偽屬性」。「訪問器屬性」是可以繼承的。
getter 跟 vue 裡的計算屬性 computed 非常類似。
可以用delete操作符刪除 getter setter。
delete obj.latest;
object.defineproperty(obj, prop, descriptor)
descriptor 稱做屬性描述符物件,它有兩種主要形式:資料描述符和訪問描述符。
資料描述符和訪問描述符均具有以下可選屬性名(預設值是在使用object.defineproperty()定義屬性的情況下):
資料描述符特有:
訪問描述符特有:
注意:屬性描述符必須是這兩種形式之一;不能同時是兩者。
get 和 set 在 object.defineproperty 裡稱做「訪問操作符」。
object.defineproperty 要麼修改已有屬性,要麼新建屬性,但不能修改繼承屬性。
object.defineproperty 返回乙個物件。
let a = object.defineproperty({}, "name", );
console.log(a); //
通過呼叫 object.getownpropertydescriptor() 方法可以獲取某個物件特定屬性的屬性描述符:
// 通過 object.defineproperty 為 ob 新增乙個屬性c
object.defineproperty(ob, "c", );
object.getownpropertydescriptor(ob, "c");
// =>
第乙個引數是要修改的物件,第二個引數是乙個對映表,它包含要新建或修改的屬性的名稱,以及它們的屬性描述符。例如:
var p = object.defineproperties({}, ,
y: ,
});
var obj = ;
object.defineproperty(obj, "a", ,
set: function(x)
});
var obj = ;
object.defineproperty(obj, "b", ,
set: function(x)
});
setter和getter記憶體處理
person.m import person.h implementation person 析構函式 void dealloc 建構函式 id initwithname nsstring name score nsarray score return self void setname nsstr...
setter方法和getter方法
oc是一門物件導向的語言,物件導向的語言有三大特性,就是封裝性,繼承性和多型性.類的資料與功能的封裝,資料就是成員變數,功能就是類方法或者物件方法,對資料的封裝,也就是對成員變數的封裝,封裝就是把資料隱藏起來,只能用此類的方法才可以讀取或者設定資料,不可被外部任意修改是物件導向設計本質,降低了資料被...
getter 和 setter的運用
1 set 有且僅有乙個引數 2 get不允許有任何引數 var obj set有且僅有乙個引數 setc value 不允許有任何引數 getc setinterval function 16 如果僅有set,沒有get,這個屬性就是只寫屬性 如果僅有get,沒有set,這個屬性就是乙個唯讀屬性 ...