aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/javascript/reference/global_objects/string/slice/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/javascript/reference/global_objects/string/slice/index.html')
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/string/slice/index.html122
1 files changed, 122 insertions, 0 deletions
diff --git a/files/zh-cn/web/javascript/reference/global_objects/string/slice/index.html b/files/zh-cn/web/javascript/reference/global_objects/string/slice/index.html
new file mode 100644
index 0000000000..df8f398983
--- /dev/null
+++ b/files/zh-cn/web/javascript/reference/global_objects/string/slice/index.html
@@ -0,0 +1,122 @@
+---
+title: String.prototype.slice()
+slug: Web/JavaScript/Reference/Global_Objects/String/slice
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - String
+ - 原型
+ - 字符串
+ - 方法
+translation_of: Web/JavaScript/Reference/Global_Objects/String/slice
+---
+<div>{{JSRef}}</div>
+
+<p><strong><code>slice()</code></strong> 方法提取某个字符串的一部分,并返回一个新的字符串,且不会改动原字符串。</p>
+
+<div>{{EmbedInteractiveExample("pages/js/string-slice.html")}}</div>
+
+
+
+<h2 id="语法">语法</h2>
+
+<pre class="syntaxbox"><var>str</var>.slice(<var>beginIndex</var>[, <var>endIndex</var>])</pre>
+
+<h3 id="参数">参数</h3>
+
+<dl>
+ <dt><code>beginIndex</code></dt>
+ <dd>从该索引(以 0 为基数)处开始提取原字符串中的字符。如果值为负数,会被当做 <code>strLength + beginIndex</code> 看待,这里的<code>strLength</code> 是字符串的长度(例如, 如果 <code>beginIndex</code> 是 -3 则看作是:<code>strLength - 3</code>)</dd>
+ <dt><code>endIndex</code></dt>
+ <dd>可选。在该索引(以 0 为基数)处结束提取字符串。如果省略该参数,<code style="font-style: normal;">slice()</code> 会一直提取到字符串末尾。<span style="line-height: 1.5;">如果该参数为负数,则被看作是 strLength + endIndex,这里的 strLength 就是字符串的长度(例如,如果 endIndex 是 -3,则是, strLength - 3)。</span></dd>
+</dl>
+
+<h3 id="返回值">返回值</h3>
+
+<p>返回一个从原字符串中提取出来的新字符串</p>
+
+<h2 id="描述">描述</h2>
+
+<p><code>slice()</code> 从一个字符串中提取字符串并返回新字符串。在一个字符串中的改变不会影响另一个字符串。也就是说,<code>slice</code> 不会修改原字符串(只会返回一个包含了原字符串中部分字符的新字符串)。</p>
+
+<p><code>slice()</code> 提取的新字符串包括<code>beginIndex</code>但不包括 <code>endIndex</code>。下面有两个例子。</p>
+
+<p>例 1:<code>str.slice(1, 4)</code> 提取第二个字符到第四个字符(被提取字符的索引值(index)依次为 1、2,和 3)。</p>
+
+<p>例 2:<code>str.slice(2, -1)</code> 提取第三个字符到倒数第一个字符。</p>
+
+<h2 id="Examples" name="Examples" style="margin-bottom: 20px; font-size: 2.14285714285714rem;">例子</h2>
+
+<h3 id="使用_slice()_创建一个新的字符串">使用 <code>slice()</code> 创建一个新的字符串</h3>
+
+<p>下面例子使用 <code>slice()</code> 创建了一个新字符串。</p>
+
+<pre class="brush: js">var str1 = 'The morning is upon us.', // str1 的长度 length 是 23。
+ str2 = str1.slice(1, 8),
+ str3 = str1.slice(4, -2),
+ str4 = str1.slice(12),
+ str5 = str1.slice(30);
+console.log(str2); // 输出:he morn
+console.log(str3); // 输出:morning is upon u
+console.log(str4); // 输出:is upon us.
+console.log(str5); // 输出:""
+</pre>
+
+<h3 id="给_slice()_传入负值索引">给 <code>slice()</code> 传入负值索引</h3>
+
+<p>下面的例子在使用 <code>slice()</code> 时传入了负值作为索引。</p>
+
+<pre class="brush: js">var str = 'The morning is upon us.';
+str.slice(-3); // 返回 'us.'
+str.slice(-3, -1); // 返回 'us'
+str.slice(0, -1); // 返回 'The morning is upon us'
+</pre>
+
+<h2 id="规范" style="margin-bottom: 20px; font-size: 2.14285714285714rem;">规范</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">规范</th>
+ <th scope="col">状态</th>
+ <th scope="col">备注</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-string.prototype.slice', 'String.prototype.slice')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.slice', 'String.prototype.slice')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.13', 'String.prototype.slice')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES3')}}</td>
+ <td>{{Spec2('ES3')}}</td>
+ <td>Initial definition. Implemented in JavaScript 1.2.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+
+
+<p>{{Compat("javascript.builtins.String.slice")}}</p>
+
+<h2 id="参见">参见</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.substr()")}} {{deprecated_inline}}</li>
+ <li>{{jsxref("String.prototype.substring()")}}</li>
+ <li>{{jsxref("Array.prototype.slice()")}}</li>
+</ul>