<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>文章 on Xinyu's Blog</title><link>https://xinyuli.blog/zh/categories/%E6%96%87%E7%AB%A0/</link><description>Recent content in 文章 on Xinyu's Blog</description><image><title>Xinyu's Blog</title><url>https://xinyuli.blog/og.png</url><link>https://xinyuli.blog/og.png</link></image><generator>Hugo</generator><language>zh-CN</language><lastBuildDate>Thu, 16 Feb 2017 16:52:20 +0800</lastBuildDate><atom:link href="https://xinyuli.blog/zh/categories/%E6%96%87%E7%AB%A0/index.xml" rel="self" type="application/rss+xml"/><item><title>【译】CSSOM介绍</title><link>https://xinyuli.blog/zh/2017/02/16/%E8%AF%91cssom%E4%BB%8B%E7%BB%8D/</link><pubDate>Thu, 16 Feb 2017 16:52:20 +0800</pubDate><guid>https://xinyuli.blog/zh/2017/02/16/%E8%AF%91cssom%E4%BB%8B%E7%BB%8D/</guid><description>&lt;p&gt;原文链接：&lt;a href="https://varvy.com/performance/cssom.html"&gt;点击&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;作者：Patrick Sexton&lt;/p&gt;
&lt;h2 id="什么是cssom"&gt;什么是CSSOM？&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CSSOM是CSS Object Model的缩写&lt;/li&gt;
&lt;li&gt;大体上来说，CSSOM是一个建立在web页面上的 CSS 样式的映射&lt;/li&gt;
&lt;li&gt;它和DOM类似，但是只针对CSS而不是HTML&lt;/li&gt;
&lt;li&gt;浏览器将DOM和CSSOM结合来渲染web页面&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img loading="lazy" src="https://xinyuli.blog/images/cssom-defined.png"&gt;&lt;/p&gt;
&lt;p&gt;CSSOM对于页面渲染起着至关重要的作用。&lt;/p&gt;
&lt;p&gt;CSSOM是&lt;a href="https://varvy.com/pagespeed/critical-render-path.html"&gt;critical rendering path&lt;/a&gt;的基本和核心，并且，它会有助于我们理解web性能优化中的原理。&lt;/p&gt;
&lt;h2 id="cssom是做什么的"&gt;CSSOM是做什么的？&lt;/h2&gt;
&lt;p&gt;CSSOM将样式表中的规则映射到页面对应的元素上。&lt;/p&gt;
&lt;p&gt;虽然CSSOM采取了复杂的措施来做这件事，但是CSSOM最终的功能还是将样式映射到它们应该对应的元素上去。&lt;/p&gt;
&lt;p&gt;更确切地说，CSSOM识别tokens并把这些tokens转换成一个树结构上的对应的结点。所有结点以及它们所关联的页面中的样式就是所谓的CSS Object Model&lt;/p&gt;</description></item><item><title>谈一谈JavaScript继承</title><link>https://xinyuli.blog/zh/2017/02/10/%E8%B0%88%E4%B8%80%E8%B0%88javascript%E7%BB%A7%E6%89%BF/</link><pubDate>Fri, 10 Feb 2017 15:07:43 +0800</pubDate><guid>https://xinyuli.blog/zh/2017/02/10/%E8%B0%88%E4%B8%80%E8%B0%88javascript%E7%BB%A7%E6%89%BF/</guid><description>&lt;p&gt;最近在复习一些JavaScript基础的东西，碰到js的原型和继承这一块总是感觉不悟其中精髓。因此，这篇文章算是从我自己理解的角度对js继承进行总结和剖析。&lt;/p&gt;
&lt;h2 id="什么是继承"&gt;什么是继承&lt;/h2&gt;
&lt;p&gt;大多数人使用继承不外乎是为了获得这两点好处，&lt;em&gt;&lt;strong&gt;代码的抽象&lt;/strong&gt;&lt;/em&gt;和&lt;em&gt;&lt;strong&gt;代码的复用&lt;/strong&gt;&lt;/em&gt;。
代码的抽象就不用说了，交通工具和汽车这类的例子数不胜数，在传统的OO语言中(比如Java)，代码的抽象更多的是使用接口(interface)来实现，而使用继承更多地是为了代码的复用(虽然现在强调使用组合而不是使用继承)。&lt;/p&gt;
&lt;p&gt;怎么复用的？打个比方，class A 继承了 class B，class A便拥有了class B 的public 和 protected类型的变量和方法，用最简单的方法去想，便是 class B 将 这些属性和方法直接copy给class A，这样便实现了继承。&lt;/p&gt;
&lt;p&gt;因此我们可以这样说，继承实际上是一种&lt;strong&gt;类与类&lt;/strong&gt;之间的copy行为。&lt;/p&gt;</description></item></channel></rss>