1. 程式人生 > >Object 的一些靜態方法

Object 的一些靜態方法

Object 的靜態方法(靜態方法:在類身上的方法,動態方法:在例項身上的方法)

1.Object.assgin(); 淺拷貝

將多個物件的可列舉屬性拷貝到目標物件上,並且返回賦值後的目標物件。
從右往左賦值。
 1     let obj = {
 2         name: '小明',
 3         age: 99,
 4     };
 5     let obj3 = {
 6         name: '小強',
 7         age: 88,
 8         o: {n: 'h'}
 9     };
10     let obj2 = Object.assign({}, obj, obj3);
11 obj2.o.n = 20; 12 console.log(obj2);//{name: "小強", age: 88, o: {…}} 並且 o: {n: 20}

  2.Object.portotype.toString 檢測資料型別 (詳情請看 檢測資料型別的方法 這個分類)
   3.Object.defineProperties(obj,{})       (例子請看 方法 分類中的另一個課件)
        給物件定義屬性,如果存在該屬性,
則用新定義的屬性更新已存在的屬性,
如果不存在該屬性,則新增該屬性。

enumerable(是否可列舉):預設為false
如果設定為false那麼,能夠被in運算,但是不能被for in迴圈到
writable(是否可寫):預設為false
configurable:是否 可被delete,false不能被刪除


能夠修改物件中的一個屬性,資料劫持

Object.defineProperty(obj,'name',{
get:function(){
//當讀的時候,觸發的函式
},
set:function(newVal){
//當寫的時候,觸發的函式
}
})