语法高亮,滚动条美化,设置页面调整

This commit is contained in:
fofolee
2019-04-19 02:41:09 +08:00
parent 1e8f76c000
commit 359d29ee0b
1590 changed files with 12328 additions and 11441 deletions

View File

@@ -13,7 +13,7 @@
<p>使用<code>__proto__</code>是有争议的也不鼓励使用它。因为它从来没有被包括在EcmaScript语言规范中但是现代浏览器都实现了它。<code>__proto__</code>属性已在ECMAScript 6语言规范中标准化用于确保Web浏览器的兼容性因此它未来将被支持。它已被不推荐使用, 现在更推荐使用<a href="Reference/Global_Objects/Object/getPrototypeOf" title="Object.getPrototypeOf() 方法返回指定对象的原型(内部[[Prototype]]属性的值)。"><code>Object.getPrototypeOf</code></a>/<a href="Reference/Global_Objects/Reflect/getPrototypeOf" title="静态方法 Reflect.getPrototypeOf() 与 Object.getPrototypeOf() 方法是一样的。都是返回指定对象的原型(即,内部的 [[Prototype]] 属性的值)。"><code>Reflect.getPrototypeOf</code></a><a href="Reference/Global_Objects/Object/setPrototypeOf" title="如果对象的[[Prototype]]被修改成不可扩展(通过 Object.isExtensible()查看)就会抛出 TypeError异常。如果prototype参数不是一个对象或者null(例如数字字符串boolean或者 undefined)则什么都不做。否则该方法将obj的[[Prototype]]修改为新的值。"><code>Object.setPrototypeOf</code></a>/<a href="Reference/Global_Objects/Reflect/setPrototypeOf" title="静态方法 Reflect.setPrototypeOf() 与 Object.setPrototypeOf() 方法是一致的。它将指定对象的原型 (即,内部的[[Prototype]] 属性设置为另一个对象或为 null。"><code>Reflect.setPrototypeOf</code></a>(尽管如此,设置对象的[[Prototype]]是一个缓慢的操作,如果性能是一个问题,应该避免)。</p>
<p>__proto__ 属性也可以在对象文字定义中使用对象[[Prototype]]来创建,作为<a href="Reference/Global_Objects/Object/create" title="Object.create()方法创建一个新对象使用现有的对象来提供新创建的对象的__proto__。 (请打开浏览器控制台以查看运行结果。)"><code>Object.create()</code></a> 的一个替代。 请参阅: <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer">object initializer / literal syntax</a>.</p>
<h2 id="语法">语法</h2>
<pre class="brush: js">let Circle = function () {};
<pre><code class="language-javascript">let Circle = function () {};
let shape = {};
let circle = new Circle();
@@ -23,8 +23,8 @@ shape.__proto__ = circle;
// 判断该对象的原型链引用是否属于circle
console.log(shape.__proto__ === circle); // true
</pre>
<pre class="brush: js">let shape = function () {};
</code></pre>
<pre><code class="language-javascript">let shape = function () {};
let p = {
a: function () {
console.log('aaa');
@@ -69,7 +69,7 @@ let obj = {
};
obj.myname();//myname
</pre>
</code></pre>
<p>注意:这是两个下划线,后面是五个字符的 “proto” ,后面再跟两个下划线。</p>
<h2 id="描述">描述</h2>
<p>__proto__的读取器(getter)暴露了一个对象的内部 <code>[[Prototype]]</code> 。对于使用对象字面量创建的对象,这个值是 <a href="Reference/Global_Objects/Object/prototype" title="Object.prototype 属性表示 Object 的原型对象。"><code>Object.prototype</code></a>。对于使用数组字面量创建的对象,这个值是 <a href="Reference/Global_Objects/Array/prototype" title="Array.prototype  属性表示 Array 构造函数的原型并允许您向所有Array对象添加新的属性和方法。"><code>Array.prototype</code></a>。对于functions这个值是<a href="Reference/Global_Objects/Function/prototype" title="Function.prototype 属性存储了 Function 的原型对象。"><code>Function.prototype</code></a>。对于使用 new fun 创建的对象其中fun是由js提供的内建构造器函数之一(<a href="Reference/Array" title="REDIRECT Array"><code>Array</code></a>, <a href="Reference/Boolean" title="此页面仍未被本地化, 期待您的翻译!"><code>Boolean</code></a>, <a href="Reference/Date" title="此页面仍未被本地化, 期待您的翻译!"><code>Date</code></a>, <a href="Reference/Global_Objects/Number" title="JavaScript 的 Number 对象是经过封装的能让你处理数字值的对象。Number 对象由 Number() 构造器创建。"><code>Number</code></a>, <a href="Reference/Global_Objects/Object" title="Object 构造函数创建一个对象包装器。"><code>Object</code></a>, <a href="Reference/String" title="此页面仍未被本地化, 期待您的翻译!"><code>String</code></a> 等等这个值总是fun.prototype。对于用js定义的其他js构造器函数创建的对象这个值就是该构造器函数的prototype属性。</p>