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 自身的属性
「其他文章」