4. 屬性描述符_訪問描述符
阿新 • • 發佈:2018-12-30
1. 屬性描述符
描述屬性的屬性
writable 決定屬性是否可以寫入(是否是一個只讀屬性)
enumerable 決定屬性是否可以for in列舉(遍歷)
configurable 決定屬性是否可以重新配置或者刪除
2. 訪問描述符
get 屬性獲取時呼叫的方法
set 屬性設定時呼叫的方法
使用:
Object.defineProperty(物件, 屬性名, {value: xxx})
Object.defineProperties(物件, {屬性名: {value: xxx}})
刪除屬性 delete xxx
密封物件 Object.seal(物件);
- 不可以新增新屬性
- 不可以刪除
- 可以讀寫操作
凍結物件 Object.freeze(物件);
- 只能讀
- 不能寫入、刪除、新增操作
深度凍結:
-
function deepFreeze(obj) { if (typeof obj !== 'object')return; //預設情況下,先給第一層凍結 Object.freeze(obj); //遍歷物件
3. web workers
H5 規範提供的 js 分執行緒的實現
Worker: 建構函式, 載入分執行緒執行的js檔案
Worker.prototype.onmessage : 用於接收另一個執行緒的回撥函式
Worker.prototype.postMessage : 向另一個執行緒傳送訊息
使用場景:一般大量計算的任務會交給分執行緒完成
4. es5 擴充套件的內容
嚴格模式
let 和 const 用來宣告變數的關鍵字
- 在塊作用域內有效
- 不能重複宣告
- 不會預處理, 不存在提升
- const定義的變數不能修改
JSON 方法
Object 擴充套件
Array 擴充套件
findIndex
map 加工處理陣列的每一項值
filter 過濾陣列中不需要的值
reduce 統計、求和
Funtion 擴充套件