Object 的一些靜態方法
阿新 • • 發佈:2018-11-10
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){
//當寫的時候,觸發的函式
}
})