-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathatom.xml
More file actions
107 lines (52 loc) · 37.2 KB
/
atom.xml
File metadata and controls
107 lines (52 loc) · 37.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Ellenyyyy's Blog</title>
<link href="http://example.com/atom.xml" rel="self"/>
<link href="http://example.com/"/>
<updated>2021-06-07T10:34:16.675Z</updated>
<id>http://example.com/</id>
<author>
<name>Ellenyyyy</name>
</author>
<generator uri="https://hexo.io/">Hexo</generator>
<entry>
<title>JS重难点之this指向</title>
<link href="http://example.com/2021/06/06/this%E6%8C%87%E5%90%91/"/>
<id>http://example.com/2021/06/06/this%E6%8C%87%E5%90%91/</id>
<published>2021-06-06T05:42:16.108Z</published>
<updated>2021-06-07T10:34:16.675Z</updated>
<content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><blockquote><p>this指向</p></blockquote><p>一句话总结: this指向就是函数<strong>运行时</strong>所在的<strong>环境对象</strong></p><p>这句话总共有两个关键词: 运行时 和 环境对象</p><p>只有我们弄清楚了 this 是在 <strong>运行时的环境对象</strong>是什么 </p><p>那么对于 this 指向我们就可以了解的很清楚,下面我们来看看几种 this 的用法</p><h1 id="纯粹的函数调用"><a href="#纯粹的函数调用" class="headerlink" title="纯粹的函数调用"></a>纯粹的函数调用</h1><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="keyword">var</span> x = <span class="number">1</span>;</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">test</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="built_in">this</span>.x);</span><br><span class="line">}</span><br><span class="line">test();<span class="comment">//1</span></span><br></pre></td></tr></table></figure><p>分析:</p><ol><li>首先,我们看 text() 执行是在 <code>全局作用域</code> 中执行的</li><li>那么 由此可知 test 中的 this 就代表全局对象 </li><li>调用 x 那肯定是找全局的 x </li><li>所以输出 1</li></ol><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="keyword">var</span> x = <span class="number">1</span>;</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">test</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="built_in">this</span>.x = <span class="number">2</span>;</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="built_in">this</span>.x);</span><br><span class="line">}</span><br><span class="line">test();<span class="comment">//2</span></span><br><span class="line"></span><br></pre></td></tr></table></figure><h1 id="作为对象方法的调用"><a href="#作为对象方法的调用" class="headerlink" title="作为对象方法的调用"></a>作为对象方法的调用</h1><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="keyword">var</span> x = <span class="number">2</span>;</span><br><span class="line"><span class="keyword">var</span> obj = {</span><br><span class="line"> x: <span class="number">1</span>,</span><br><span class="line"> func: test</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">test</span>(<span class="params"></span>) </span>{</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="built_in">this</span>.x);</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line">obj.func();<span class="comment">//1</span></span><br><span class="line"></span><br></pre></td></tr></table></figure><p>分析: </p><ol><li>首先我们看 test 函数执行在 obj.func 这里执行的 </li><li>所以 this 的运行时的环境对象 也就是 obj </li><li>那么就要去寻找 obj 中的 x 变量 </li><li>因此输出1</li></ol><h1 id="作为构造函数调用"><a href="#作为构造函数调用" class="headerlink" title="作为构造函数调用"></a>作为构造函数调用</h1><p>构造函数构造出一个新对象,并且 this 指向这个新对象</p><p>这里可以引入一个new的知识,new会发生什么?</p><ol><li>创建一个空对象{}</li><li>链接该空对象,空对象的proto属性指向这个构造函数</li><li>将第一步中创建的空对象作为 this 的上下文</li><li>执行this.xxx = xxx</li><li>返回this</li></ol><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="keyword">var</span> name = <span class="string">'pp'</span>;</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">Person</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="built_in">this</span>.name = <span class="string">'Ellenyyyy'</span>;</span><br><span class="line">}</span><br><span class="line"><span class="keyword">var</span> p1 = <span class="keyword">new</span> Person();</span><br><span class="line"><span class="built_in">console</span>.log(p1.name);<span class="comment">//Ellenyyyy</span></span><br></pre></td></tr></table></figure><p>分析:</p><p> new之后 此时 构造函数 Person 中的 this 指向 这个新对象 p1 </p><h1 id="call-apply调用"><a href="#call-apply调用" class="headerlink" title="call/apply调用"></a>call/apply调用</h1><p>我们都知道call/apply可以改变 this 指向,第一个参数就是可以改变this指向</p><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="keyword">var</span> x = <span class="number">2</span>;</span><br><span class="line"><span class="keyword">var</span> obj = {</span><br><span class="line"> x: <span class="number">1</span>,</span><br><span class="line"> func: test</span><br><span class="line">};</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">test</span>(<span class="params"></span>) </span>{</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="built_in">this</span>.x);</span><br><span class="line">}</span><br><span class="line">obj.func.apply() <span class="comment">// 2</span></span><br></pre></td></tr></table></figure><p>分析:</p><ol><li>由于apply没有传参数,默认是是全局对象</li><li>所以 thi s为全局对象,那么就会访问全局的 x </li><li>因此输出 2</li></ol><p>修改版</p><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="keyword">var</span> x = <span class="number">2</span>;</span><br><span class="line"><span class="keyword">var</span> obj = {</span><br><span class="line"> x: <span class="number">1</span>,</span><br><span class="line"> func: test</span><br><span class="line">};</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">test</span>(<span class="params"></span>) </span>{</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="built_in">this</span>.x);</span><br><span class="line">}</span><br><span class="line">obj.func.apply(obj) <span class="comment">// 1</span></span><br></pre></td></tr></table></figure><p>分析:</p><ol><li>将 apply 中第一个参数修改为 obj </li><li>那么此时 this 就是 obj</li><li>所以访问 x 就会直接上 obj 上去寻找</li><li>因此输出1</li></ol><h1 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h1><p>首先,要确定this执行时处于什么环境变量</p><p>根据这个环境变量,我们可以判断出this的指向,从而得出我们想要的答案</p><h1 id="参考blog"><a href="#参考blog" class="headerlink" title="参考blog"></a>参考blog</h1><p>了解this的原理可以更好的帮助我们理解这篇blog</p><p>这篇文章,是参考阮一峰老师的两篇文章写出来的</p><p>想要深入的,可以看看阮一峰老师的这两篇文章</p><p>this原理:<a href="http://www.ruanyifeng.com/blog/2018/06/javascript-this.html">http://www.ruanyifeng.com/blog/2018/06/javascript-this.html</a></p><p>this的用法:<a href="http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html">http://www.ruanyifeng.com/blog/2010/04/using_this_keyword_in_javascript.html</a></p>]]></content>
<summary type="html"><link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" cla</summary>
<category term="javascript" scheme="http://example.com/tags/javascript/"/>
</entry>
<entry>
<title>JS重难点之闭包</title>
<link href="http://example.com/2021/06/05/%E9%97%AD%E5%8C%85/"/>
<id>http://example.com/2021/06/05/%E9%97%AD%E5%8C%85/</id>
<published>2021-06-05T15:07:06.389Z</published>
<updated>2021-06-06T12:18:01.079Z</updated>
<content type="html"><![CDATA[<link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" class="aplayer-secondary-script-marker"></script><blockquote><p>闭包</p></blockquote><h1 id="什么是闭包"><a href="#什么是闭包" class="headerlink" title="什么是闭包"></a>什么是闭包</h1><p>闭包就是可以访问自由变量的函数</p><h2 id="什么是自由变量"><a href="#什么是自由变量" class="headerlink" title="什么是自由变量"></a>什么是自由变量</h2><p>不是函数参数也不是函数局部变量 就是 自由变量</p><p>那么我们可以说从<strong>技术</strong>的角度上说,所有的函数都是闭包</p><p>但其实<strong>实践</strong>上的闭包却是这样的:</p><p>内部函数被保存到了外部就会形成闭包</p><ol><li>创建它的函数上下文已经被销毁,但是它任然存在</li><li>在代码中引用了自由变量</li></ol><h1 id="常见形成闭包的形式"><a href="#常见形成闭包的形式" class="headerlink" title="常见形成闭包的形式"></a>常见形成闭包的形式</h1><p>内部函数被return出去</p><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="keyword">var</span> c =<span class="string">'1'</span>;</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">a</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="keyword">return</span> <span class="function"><span class="keyword">function</span> <span class="title">b</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="built_in">console</span>.log(c);</span><br><span class="line"> }</span><br><span class="line">}</span><br><span class="line"><span class="built_in">console</span>.log(a()())</span><br></pre></td></tr></table></figure><p>全局变量接收内部函数的值</p><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="keyword">var</span> c = []</span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">var</span> i = <span class="number">0</span>;i < <span class="number">3</span>; i++){</span><br><span class="line"> c[i] = <span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="built_in">console</span>.log(i);</span><br><span class="line"> }</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="built_in">console</span>.log(c[<span class="number">0</span>]());</span><br><span class="line"><span class="built_in">console</span>.log(c[<span class="number">1</span>]());</span><br><span class="line"><span class="built_in">console</span>.log(c[<span class="number">2</span>]());</span><br></pre></td></tr></table></figure><h1 id="闭包的作用"><a href="#闭包的作用" class="headerlink" title="闭包的作用"></a>闭包的作用</h1><h2 id="实现共有变量"><a href="#实现共有变量" class="headerlink" title="实现共有变量"></a>实现共有变量</h2><p> 函数累加器</p><h2 id="做缓存器"><a href="#做缓存器" class="headerlink" title="做缓存器"></a>做缓存器</h2><p> eater</p><p> food这个变量既可以存 也可以取</p><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">eater</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="keyword">var</span> food = <span class="string">""</span>;</span><br><span class="line"> <span class="keyword">var</span> obj = {</span><br><span class="line"> eat : <span class="function"><span class="keyword">function</span> (<span class="params"></span>)</span>{</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"I am eating "</span> + food);</span><br><span class="line"> food = <span class="string">""</span>;</span><br><span class="line"> },</span><br><span class="line"> buy : <span class="function"><span class="keyword">function</span> (<span class="params">f</span>)</span>{</span><br><span class="line"> food = f;</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"I am buying "</span> + food);</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">return</span> obj;</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">var</span> eat1 = eater();</span><br><span class="line"> eat1.buy(<span class="string">'banana'</span>);</span><br><span class="line"> eat1.eat();</span><br></pre></td></tr></table></figure><h2 id="封装变量私有化"><a href="#封装变量私有化" class="headerlink" title="封装变量私有化"></a>封装变量私有化</h2><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">Deng</span>(<span class="params">name, wife</span>)</span>{</span><br><span class="line"> <span class="keyword">var</span> prapareWife = <span class="string">"xiaoMing"</span>;</span><br><span class="line"></span><br><span class="line"> <span class="built_in">this</span>.name = name;</span><br><span class="line"> <span class="built_in">this</span>.wife = wife;</span><br><span class="line"></span><br><span class="line"> <span class="built_in">this</span>.divorce = <span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="built_in">this</span>.wife = prapareWife;</span><br><span class="line"> }</span><br><span class="line"> <span class="built_in">this</span>.changePrepareWife = <span class="function"><span class="keyword">function</span> (<span class="params">target</span>)</span>{</span><br><span class="line"> prapareWife = target;</span><br><span class="line"> }</span><br><span class="line"> <span class="built_in">this</span>.sayPrapareWife = <span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="built_in">console</span>.log(prapareWife);</span><br><span class="line"> }</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="keyword">var</span> deng = <span class="keyword">new</span> Denfg(<span class="string">"deng"</span>,<span class="string">"xiaoLi"</span>);</span><br><span class="line"><span class="comment">//自己的对象访问不到</span></span><br><span class="line"><span class="built_in">console</span>.log(deng.prapareWife);<span class="comment">//undefined</span></span><br><span class="line"><span class="comment">//自己的方法可以访问得到 变成了私有化变量 紧紧跟随着对象 只有自己的方法可以访问</span></span><br><span class="line">deng.sayPrapareWife();<span class="comment">//"xiaoMing"</span></span><br></pre></td></tr></table></figure><h2 id="模块化开发"><a href="#模块化开发" class="headerlink" title="模块化开发"></a>模块化开发</h2><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="keyword">var</span> name = <span class="string">'111'</span>; <span class="comment">//不会污染到这个全局变量</span></span><br><span class="line"><span class="keyword">var</span> init = (<span class="function"><span class="keyword">function</span>(<span class="params"></span>) </span>{</span><br><span class="line"> <span class="keyword">var</span> name = <span class="string">'abc'</span>;</span><br><span class="line"> <span class="function"><span class="keyword">function</span> <span class="title">callName</span>(<span class="params"></span>) </span>{</span><br><span class="line"> <span class="built_in">console</span>.log(name);</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">return</span> <span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{<span class="comment">//留接口</span></span><br><span class="line"> callName();</span><br><span class="line"> }</span><br><span class="line">}());</span><br><span class="line">init();<span class="comment">//abc</span></span><br></pre></td></tr></table></figure><h1 id="怎么解决闭包"><a href="#怎么解决闭包" class="headerlink" title="怎么解决闭包"></a>怎么解决闭包</h1><p>使用立即执行函数可以解决闭包</p><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="keyword">var</span> c = []</span><br><span class="line"><span class="keyword">for</span>(<span class="keyword">var</span> i = <span class="number">0</span>;i < <span class="number">3</span>; i++){</span><br><span class="line"> c[i] = (<span class="function"><span class="keyword">function</span>(<span class="params">i</span>)</span>{</span><br><span class="line"> <span class="built_in">console</span>.log(i);</span><br><span class="line"> })(i)</span><br><span class="line">}</span><br><span class="line"></span><br><span class="line"><span class="built_in">console</span>.log(c[<span class="number">0</span>]());</span><br><span class="line"><span class="built_in">console</span>.log(c[<span class="number">1</span>]());</span><br><span class="line"><span class="built_in">console</span>.log(c[<span class="number">2</span>]());</span><br></pre></td></tr></table></figure>]]></content>
<summary type="html"><link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" cla</summary>
<category term="javascript" scheme="http://example.com/tags/javascript/"/>
</entry>
<entry>
<title>JS重难点之原型</title>
<link href="http://example.com/2021/05/20/%E5%8E%9F%E5%9E%8B/"/>
<id>http://example.com/2021/05/20/%E5%8E%9F%E5%9E%8B/</id>
<published>2021-05-20T01:45:12.257Z</published>
<updated>2021-06-06T10:47:02.633Z</updated>
<content type="html"><我们可以从图上看出,对象和构造函数都可以指向原型,那么我们肯定会思考原型有不有指向对象和构造函数呢?</p><h2 id="constructor-NaN"><a href="#constructor-NaN" class="headerlink" title="constructor"></a>constructor</h2><p>指向对象实例没有,因为一个构造函数可以new多个对象,那原型该指向哪个对象呢?所以原型指向对象的实例是没有的。</p><p>但是原型指向构造函数是有的,这就要说到一个构造器属性<strong>constructor</strong>,</p><p><strong>每一个原型都有一个 constructor 属性指向关联的构造函数。</strong></p><p>从代码上我们可以得到</p><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">Person</span>(<span class="params"></span>)</span>{</span><br><span class="line"> </span><br><span class="line"> }</span><br><span class="line"><span class="comment">//原型的constructor指向这个构造函数</span></span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"对象的原型的constuctor指向创建对象的构造函数"</span>);</span><br><span class="line"><span class="built_in">console</span>.log(person.__proto__.constructor === Person)<span class="comment">//true</span></span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"构造函数的原型的constuctor指向创建对象的构造函数"</span>);</span><br><span class="line"><span class="built_in">console</span>.log(Person.prototype === Person) <span class="comment">//true</span></span><br></pre></td></tr></table></figure><p>所以我们可以更新我们上面的图</p><p></p><p>那么从上面这个图,我们可以很清晰的看出构造函数、实例对象、原型三者之间的关系了</p><p>那么我们接下来,再深刻学习对象和原型之间还有什么更深沉的关联?</p><h2 id="总结:"><a href="#总结:" class="headerlink" title="总结:"></a>总结:</h2><ol><li>每个构造函数可以创建多个实例对象</li><li>每个构造函数都有一个prototype属性,并且这个属性指向原型</li><li>每个对象都有一个proto属性,并且这个属性指向原型</li><li>每个原型都有一个constructor属性,并且这个属性指向构造函数</li><li>原型链可以说是通过proto这个桥梁来链接起来</li></ol><h1 id="原型链"><a href="#原型链" class="headerlink" title="原型链"></a>原型链</h1><ol><li>原型链也就是通过proto这个桥梁连通的一条链子。</li><li>创建出的实例对象一层一层继承原型,当访问对象上属性和方法就会顺着原型链,一直到原型链顶端去查找。</li><li>所有原型链的顶端都是Object,再往上就是null</li></ol><h1 id="与原型相关的方法"><a href="#与原型相关的方法" class="headerlink" title="与原型相关的方法"></a>与原型相关的方法</h1><table><thead><tr><th></th><th align="left">使用方法</th><th>作用 返回布尔值</th></tr></thead><tbody><tr><td>instanceof</td><td align="left">person instanceOf Person</td><td>可以确定实例对象原型链上的构造函数的原型</td></tr><tr><td>setPrototypeOf</td><td align="left">Object.setPrototype(person, biped)</td><td>设置实例对象的原型 一般不使用</td></tr><tr><td>Object.creat()</td><td align="left">let person = Object.creat(biped)</td><td>创建新对象 并指定原型 一般使用这个 而不使用上面那个</td></tr><tr><td>Object.getPrototypeOf()</td><td align="left">Object.getPrototypeOf(person) ===Person</td><td>获取对象原型</td></tr><tr><td>hasOwnProperty()</td><td align="left">person.hasOwnProperty(‘name’)</td><td>判断某个属性是在实例上还是在原型上</td></tr><tr><td>isPrototypeOf()</td><td align="left">Person.isPrototype(person)</td><td>判断一个对象是否存在于另一个对象的原型链上</td></tr></tbody></table><h1 id="🌰例题"><a href="#🌰例题" class="headerlink" title="🌰例题"></a>🌰例题</h1><h2 id="first"><a href="#first" class="headerlink" title="first"></a>first</h2><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="comment">//1.1</span></span><br><span class="line">Person.prototype.name = <span class="string">'sunny'</span></span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">Person</span>(<span class="params"></span>)</span>{</span><br><span class="line"> </span><br><span class="line">}</span><br><span class="line"><span class="keyword">var</span> person = <span class="keyword">new</span> Person();</span><br><span class="line">Person.prototype.name = <span class="string">'cherry'</span>;</span><br><span class="line"><span class="built_in">console</span>.log(person.name);<span class="comment">//cherry</span></span><br><span class="line"></span><br><span class="line"><span class="comment">//1.2</span></span><br><span class="line">Person.prototype.name = <span class="string">'sunny'</span></span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">Person</span>(<span class="params"></span>)</span>{</span><br><span class="line"> </span><br><span class="line">}</span><br><span class="line">Person.prototype.name = <span class="string">'cherry'</span>;</span><br><span class="line"><span class="keyword">var</span> person = <span class="keyword">new</span> Person();</span><br><span class="line"><span class="built_in">console</span>.log(person.name);<span class="comment">//cherry</span></span><br></pre></td></tr></table></figure><h2 id="second"><a href="#second" class="headerlink" title="second"></a>second</h2><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line"><span class="comment">//2.1</span></span><br><span class="line">Person.prototype.name = <span class="string">'sunny'</span></span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">Person</span>(<span class="params"></span>)</span>{</span><br><span class="line"> </span><br><span class="line">}</span><br><span class="line"><span class="keyword">var</span> person = <span class="keyword">new</span> Person();</span><br><span class="line">Person.prototype = {</span><br><span class="line"> name: <span class="string">'cherry'</span></span><br><span class="line">}</span><br><span class="line"><span class="built_in">console</span>.log(person.name);<span class="comment">//sunny</span></span><br><span class="line"></span><br><span class="line"><span class="comment">//2.2</span></span><br><span class="line">Person.prototype.name = <span class="string">'sunny'</span></span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">Person</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="comment">//var this = {</span></span><br><span class="line"> <span class="comment">//__proto__: Person.prototype</span></span><br><span class="line"> <span class="comment">// }</span></span><br><span class="line">}</span><br><span class="line">Person.prototype = {</span><br><span class="line"> name: <span class="string">'cherry'</span></span><br><span class="line">}</span><br><span class="line"><span class="keyword">var</span> person = <span class="keyword">new</span> Person();</span><br><span class="line"><span class="built_in">console</span>.log(person.name);<span class="comment">//cherry</span></span><br></pre></td></tr></table></figure>]]></content>
<summary type="html"><link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" cla</summary>
<category term="javascript" scheme="http://example.com/tags/javascript/"/>
</entry>
<entry>
<title>hexo之butterfly主题</title>
<link href="http://example.com/2021/04/22/hexo%E4%B9%8Bbutterfly%E4%B8%BB%E9%A2%98/"/>
<id>http://example.com/2021/04/22/hexo%E4%B9%8Bbutterfly%E4%B8%BB%E9%A2%98/</id>
<published>2021-04-22T02:30:23.819Z</published>
<updated>2021-06-06T12:27:54.374Z</updated>
<content type="html"><</p><h1 id="侧边栏"><a href="#侧边栏" class="headerlink" title="侧边栏"></a>侧边栏</h1><p>位置position</p><figure class="highlight"><table><tr><td class="code"><pre><span class="line">aside:</span><br><span class="line"> enable: <span class="literal">true</span></span><br><span class="line"> mobile: true # display on mobile</span><br><span class="line"> position: left # left or right </span><br></pre></td></tr></table></figure><h1 id="公告栏"><a href="#公告栏" class="headerlink" title="公告栏"></a>公告栏</h1><figure class="highlight javascript"><table><tr><td class="code"><pre><span class="line">card_announcement:</span><br><span class="line"> enable: <span class="literal">true</span></span><br><span class="line"> content: This is Ellenyyyy<span class="string">'s Blog</span></span><br></pre></td></tr></table></figure><p>参考blog: <a href="https://blog.csdn.net/qq_43740362/article/details/113783074">https://blog.csdn.net/qq_43740362/article/details/113783074</a></p>]]></content>
<summary type="html"><link rel="stylesheet" class="aplayer-secondary-style-marker" href="/assets/css/APlayer.min.css"><script src="/assets/js/APlayer.min.js" cla</summary>
<category term="hexo" scheme="http://example.com/tags/hexo/"/>
</entry>
</feed>