vue原始碼解析之基礎瞭解
1. Object.defineProperty #給物件新增/修改屬性(指定描述符) configurable: true/false 是否可以重新 define enumerable: true/false 是否可以列舉(for..in / keys()) value: 指定初始值 writable: true/false value 是否可以修改 get: 回撥函式, 用來得到當前屬性值 set: 回撥函式, 用來監視當前屬性值的變化 #這裡再說下 如果說下 var obj={ name : 'sss', full_name:{ first_name:'ming', last_name:'xing', } } obj.full_name.last_name = 'new';//這個時候會先觸發obj的get 然後觸發 obj.full_name的get最後觸發obj.full_name.last_name的set 2. [].slice.call(lis): 將偽陣列轉換為真陣列 || Array.prototype.slice.call(lis) #lis 是維陣列,並不是陣列對像 這裡有個奇怪的現象 node.childNodes 可以直接使用forEach??? node.attributes 就不可以使用 3. node.nodeType: 得到節點型別 1是元素節點 2是屬性節點 3是文字節點 4. DocumentFragment: 文件碎片(高效批量更新多個節點) 理解為不被瀏覽器渲染的虛擬DOM節點 5. obj.hasOwnProperty(prop): 判斷 prop 是否是 obj 自身的屬性
「其他文章」