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

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

@@ -6,10 +6,10 @@
<h2 id="加法_()"><a name="Addition">加法 (+)</a></h2>
<p>加法运算符的作用是数值求和,或者字符串拼接。</p>
<h3 id="语法">语法</h3>
<pre class="syntaxbox"><strong>运算符:</strong> x + y
</pre>
<pre><code class="language-javascript"><strong>运算符:</strong> x + y
</code></pre>
<h3 id="示例">示例</h3>
<pre class="brush: js">// Number + Number -&gt; 数字相加
<pre><code class="language-javascript">// Number + Number -&gt; 数字相加
1 + 2 // 3
// Boolean + Number -&gt; 数字相加
@@ -26,23 +26,23 @@ false + false // 0
// String + String -&gt; 字符串连接
"foo" + "bar" // "foobar"
</pre>
</code></pre>
<h2 id="减法_(-)"><a name="Subtraction">减法 (-)</a></h2>
<p>减法运算符使两个操作数相减,结果是它们的差值。</p>
<h3 id="语法_2">语法</h3>
<pre class="syntaxbox"><strong>运算符:</strong> x - y
</pre>
<pre><code class="language-javascript"><strong>运算符:</strong> x - y
</code></pre>
<h3 id="示例_2">示例</h3>
<pre class="brush: js">5 - 3 // 2
<pre><code class="language-javascript">5 - 3 // 2
3 - 5 // -2
"foo" - 3 // NaN</pre>
"foo" - 3 // NaN</code></pre>
<h2 id="除法_()"><a name="Division">除法 (/)</a></h2>
<p>除法运算符的结果是操作数的商 ,左操作数是被除数,右操作数是除数。</p>
<h3 id="语法_3">语法</h3>
<pre class="syntaxbox"><strong>运算符:</strong> x / y
</pre>
<pre><code class="language-javascript"><strong>运算符:</strong> x / y
</code></pre>
<h3 id="示例_3">示例</h3>
<pre class="brush: js">1 / 2 // 在 JavaScript 中返回 0.5
<pre><code class="language-javascript">1 / 2 // 在 JavaScript 中返回 0.5
1 / 2 // 在 Java 中返回 0
// (不需要数字是明确的浮点数)
@@ -50,48 +50,48 @@ false + false // 0
2.0 / 0 // 在 JavaScript 中返回 Infinity
2.0 / 0.0 // 同样返回 Infinity
2.0 / -0.0 // 在 JavaScript 中返回 -Infinity</pre>
2.0 / -0.0 // 在 JavaScript 中返回 -Infinity</code></pre>
<h2 id="乘法_(*)"><a name="Multiplication">乘法 (*)</a></h2>
<p>乘法运算符的结果是操作数的乘积。</p>
<h3 id="语法_4">语法</h3>
<pre class="syntaxbox"><strong>运算符:</strong> x * y
</pre>
<pre><code class="language-javascript"><strong>运算符:</strong> x * y
</code></pre>
<h3 id="示例_4">示例</h3>
<pre class="brush: js">2 * 2 // 4
<pre><code class="language-javascript">2 * 2 // 4
-2 * 2 // -4
Infinity * 0 // NaN
Infinity * Infinity // Infinity
"foo" * 2 // NaN
</pre>
</code></pre>
<h2 id="求余_()"><a name="Remainder">求余 (%)</a></h2>
<p>求余运算符返回第一个操作数对第二个操作数的模,即 <code>var1</code> 对 <code>var2</code> 取模,其中 <code>var1</code> 和 <code>var2</code> 是变量。取模功能就是 <code>var1</code> 除以 <code>var2</code> 的整型余数。 <a class="external" href="http://wiki.ecmascript.org/doku.php?id=strawman:modulo_operator" rel="noopener" title="http://wiki.ecmascript.org/doku.php?id=strawman:modulo_operator">以前有个提议在ECMAScript未来的版本中可能会有一个获取实际模的运算符。</a></p>
<h3 id="语法_5">语法</h3>
<pre class="syntaxbox"><strong>运算符:</strong> var1 % var2
</pre>
<pre><code class="language-javascript"><strong>运算符:</strong> var1 % var2
</code></pre>
<h3 id="示例_5">示例</h3>
<pre class="brush: js">12 % 5 // 2
<pre><code class="language-javascript">12 % 5 // 2
-1 % 2 // -1
NaN % 2 // NaN
1 % 2 // 1
2 % 3 // 2
-4 % 2 // -0
5.5 % 2 // 1.5
</pre>
</code></pre>
<h2 id="幂_(**)"><a name="Exponentiation">幂 (**)</a></h2>
<p>幂运算符返回第一个操作数做底数,第二个操作数做指数的乘方。即, <code>var1</code><sup><code>var2</code></sup> ,其中 <code>var1</code><code>var2</code> 是其两个操作数。幂运算符是右结合的。<code>a ** b ** c</code> 等同于 <code>a ** (b ** c)</code></p>
<h3 id="语法_6">语法</h3>
<pre class="syntaxbox"><strong>运算符:</strong> var1 ** var2
</pre>
<pre><code class="language-javascript"><strong>运算符:</strong> var1 ** var2
</code></pre>
<h3 id="注解">注解</h3>
<p>包括 PHP 或 Python 等的大多数语言中,都包含幂运算符(一般来说符号是 ^ 或者 **)。这些语言中的幂运算符有着比其他的单目运算符(如一元 + 或一元 - )更高的优先级。但是作为例外,在 Bash 中,**  运算符被设计为比单目运算符优先级更低。在最新的 JavaScriptES2016 中,禁止使用带歧义的幂运算表达式。比如,底数前不能紧跟一元运算符(<code>+/-/~/!/delete/void/typeof</code></p>
<pre class="brush: js">-2 ** 2;
<pre><code class="language-javascript">-2 ** 2;
// 在 Bash 中等于 4 ,而在其他语言中一般等于 -4
// 在 JavaScript 中是错误的,因为这会有歧义
-(2 ** 2);
// -4 在JavaScript中能够明显体现出作者的意图</pre>
// -4 在JavaScript中能够明显体现出作者的意图</code></pre>
<h3 id="示例_6">示例</h3>
<pre class="brush: js language-js"><code class="language-js"><span class="number token">2</span> <span class="operator token">*</span><span class="operator token">*</span> <span class="number token">3</span><span class="comment token"> // 8
<pre><code class="language-js language-js"><code class="language-js"><span class="number token">2</span> <span class="operator token">*</span><span class="operator token">*</span> <span class="number token">3</span><span class="comment token"> // 8
</span><span class="number token">3</span> <span class="operator token">*</span><span class="operator token">*</span> <span class="number token">2</span><span class="comment token"> // 9
</span><span class="number token">3</span> <span class="operator token">*</span><span class="operator token">*</span> <span class="number token">2.5</span><span class="comment token"> // 15.588457268119896
</span><span class="number token">10</span> <span class="operator token">*</span><span class="operator token">*</span> <span class="operator token">-</span><span class="number token">1</span><span class="comment token"> // 0.1
@@ -100,11 +100,11 @@ NaN % 2 // NaN
<span class="number token">2</span> <span class="operator token">*</span><span class="operator token">*</span> <span class="number token">3</span> <span class="operator token">*</span><span class="operator token">*</span> <span class="number token">2</span><span class="comment token"> // 512
</span><span class="number token">2</span> <span class="operator token">*</span><span class="operator token">*</span> <span class="punctuation token">(</span><span class="number token">3</span> <span class="operator token">*</span><span class="operator token">*</span> <span class="number token">2</span><span class="punctuation token">)</span><span class="comment token"> // 512
</span><span class="punctuation token">(</span><span class="number token">2</span> <span class="operator token">*</span><span class="operator token">*</span> <span class="number token">3</span><span class="punctuation token">)</span> <span class="operator token">*</span><span class="operator token">*</span> <span class="number token">2</span><span class="comment token"> // 64</span></code>
</pre>
</code></pre>
<p>如果要反转求幂表达式结果的符号,你可以采用这样的方式:</p>
<pre class="brush: js"><code>-(2 ** 2) // -4</code></pre>
<pre><code class="language-javascript"><code>-(2 ** 2) // -4</code></code></pre>
<p>强制求幂表达式的基数为负数:</p>
<pre class="brush: js">(-2) ** 2 // 4</pre>
<pre><code class="language-javascript">(-2) ** 2 // 4</code></pre>
<h2 id="递增_()"><a name="Increment">递增 (++)</a></h2>
<p>递增运算符为其操作数增加1返回一个数值。</p>
<ul>
@@ -112,10 +112,10 @@ NaN % 2 // NaN
<li>如果前置prefix使用即运算符位于操作数的前面如 ++x那么将会在递增后返回数值。</li>
</ul>
<h3 id="语法_7">语法</h3>
<pre class="syntaxbox"><strong>运算符:</strong> x++ 或者 ++x
</pre>
<pre><code class="language-javascript"><strong>运算符:</strong> x++ 或者 ++x
</code></pre>
<h3 id="示例_7">示例</h3>
<pre class="brush: js">// 后置
<pre><code class="language-javascript">// 后置
var x = 3;
y = x++;
// y = 3, x = 4
@@ -124,7 +124,7 @@ y = x++;
var a = 2;
b = ++a;
// a = 3, b = 3
</pre>
</code></pre>
<h2 id="递减_(--)"><a name="Decrement">递减 (--)</a></h2>
<p>递减运算符将其操作数减去1并返回一个数值。</p>
<ul>
@@ -132,38 +132,38 @@ b = ++a;
<li>如果前置使用(如 --x则在递减后返回数值。</li>
</ul>
<h3 id="语法_8">语法</h3>
<pre class="syntaxbox"><strong>运算符:</strong> x-- or --x
</pre>
<pre><code class="language-javascript"><strong>运算符:</strong> x-- or --x
</code></pre>
<h3 id="示例_8">示例</h3>
<pre class="brush: js">// 后置
<pre><code class="language-javascript">// 后置
var x = 3;
y = x--; // y = 3, x = 2
// 前置
var a = 2;
b = --a; // a = 1, b = 1
</pre>
</code></pre>
<h2 id="一元负号_(-)"><a name="Unary_negation">一元负号 (-)</a></h2>
<p>一元负号运算符位于操作数前面,并转换操作数的符号。</p>
<h3 id="语法_9">语法</h3>
<pre class="syntaxbox"><strong>运算符:</strong> -x
</pre>
<pre><code class="language-javascript"><strong>运算符:</strong> -x
</code></pre>
<h3 id="示例_9">示例</h3>
<pre class="brush: js">var x = 3;
<pre><code class="language-javascript">var x = 3;
y = -x; // y = -3, x = 3
</pre>
</code></pre>
<h2 id="一元正号_()"><a name="Unary_plus">一元正号</a> (+)</h2>
<p>一元正号运算符位于其操作数前面,计算其操作数的数值,如果操作数不是一个数值,会尝试将其转换成一个数值。 尽管一元负号也能转换非数值类型,但是一元正号是转换其他对象到数值的最快方法,也是最推荐的做法,因为它不会对数值执行任何多余操作。它可以将字符串转换成整数和浮点数形式,也可以转换非字符串值 <code>true</code><code>false</code> <code></code> <code>null</code>。小数和十六进制格式字符串也可以转换成数值。负数形式字符串也可以转换成数值(对于十六进制不适用)。如果它不能解析一个值,则计算结果为 <a href="Reference/Global_Objects/NaN">NaN</a></p>
<h3 id="语法_10">语法</h3>
<pre class="syntaxbox"><strong>运算符:</strong> +x
</pre>
<pre><code class="language-javascript"><strong>运算符:</strong> +x
</code></pre>
<h3 id="示例_10">示例</h3>
<pre class="brush: js">+3 // 3
<pre><code class="language-javascript">+3 // 3
+"3" // 3
+true // 1
+false // 0
+null // 0
+function(val){ return val;} //NaN</pre>
+function(val){ return val;} //NaN</code></pre>
<h2 id="规范">规范</h2>
<table class="standard-table">
<tbody>