...
// add(arr[0],arr[1],arr[2]) add.apply(null,arr);javascript
## 研究Object 1. 這是一個函數(類); 2. 該類身上有自身的方法還有原型的方法 ![](./img/1.png) 1. `Object.create`參數一個對象(原型對象)去建立一個新的實例對象 2. `Object.defineProperty`和`Object.getOwnPropertyDescriptor`
Object.defineProperty(對象,要配置的屬性名,配置對象) // 配置對象 // 數據屬性 {value: 12, writable: true, enumerable: true, configurable: true} // 訪問器屬性 {get: ƒ, set: ƒ, enumerable: false, configurable: true} Object.getOwnPropertyDescriptor(對象,要查看的屬性名); // 返回配置對象
3. `Object.defineProperties`和`Object.getOwnPropertyDescriptors` var obj = {a:1,b:2,c:3} Object.defineProperties(obj,{ a:{ value:0 }, b:{ value:0 }, c:{ value:0 } }) Object.getOwnPropertyDescriptors(obj); 4. `Object.entries` js var obj = {a:0,b:0,c:0} Object.entries(obj); // => [['a',0],['b',0],['c',0]] 5. `Object.freeze` `js var obj = {a:0,b:0,c:0} Object.freeze(obj); // 該方法讓obj中的全部屬性都不能夠被修改 6. `Object.getOwnPropertyNames` ```js // 獲取對象自身的全部屬性名(字符串) var obj = {a:0,b:0,c:0} Object.getOwnPropertyNames(obj); // ['a','b','c']
/* for in 能夠枚舉到隱式原型的屬性 */java
7. `Object.getOwnPropertySymbols`
// 若是對象的屬性名是Symbol類型的話,那麼for in將不能枚舉到 var a = Symbol(); var obj = {[a]:1} Object.getOwnPropertySymbols(obj) // [Symbol值]