Vue.js研读-基础

2020-03-02 23:21:3810/1/2021, 3:34:43 AM

Document.createDocumentFragment()

DocumentFragments 是DOM节点。它们不是主DOM树的一部分。通常的用例是创建文档片段,将元素附加到文档片段,然后将文档片段附加到DOM树。在DOM树中,文档片段被其所有的子元素所代替。

因为文档片段存在于内存中,并不在DOM树中,所以将子元素插入到文档片段时不会引起页面回流(对元素位置和几何上的计算)。因此,使用文档片段通常会带来更好的性能。

node.nodeType

1 元素

2 属性

3 文本

8 注释

9 document

node.textContext、node.innerText

textContent会获取所有元素的内容,包括scriptstyle元素。然而innerText只展示给人看的元素

textContext会返回节点中的每一个元素,相反,innerTextCSS样式的影响,不会返回隐藏元素的文本,并且会触发回流去确保是最新的计算样式

textContext不同的是,在IE11以及下版本中,对innerText进行修改,不仅会移除当前元素的子节点,而且会永久性的破坏所有后代文本节点,在之后不可能再次将节点到任何其他元素或同同一元素

通过字符串路径获取对象属性的简单方法(暂不支持[])

function parsePath (obj, path) {
    return path.split(".").reduce((data, current) => data[current], obj)
}

const obj1 = {
    tom: {
        name: "tom",
        age: 23
    }
}

const res = parsePath(obj1, "tom.name")
console.log(res);
// tom

e.target和e.currentTarget

e.target指向触发事件的对象

e.currentTarget指向添加监听事件的对象

Vue.js整体流程

Vue.js整体流程