aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/javascript/reference/statements/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/javascript/reference/statements/index.html')
-rw-r--r--files/zh-cn/web/javascript/reference/statements/index.html150
1 files changed, 150 insertions, 0 deletions
diff --git a/files/zh-cn/web/javascript/reference/statements/index.html b/files/zh-cn/web/javascript/reference/statements/index.html
new file mode 100644
index 0000000000..c6d70fce55
--- /dev/null
+++ b/files/zh-cn/web/javascript/reference/statements/index.html
@@ -0,0 +1,150 @@
+---
+title: 语句和声明
+slug: Web/JavaScript/Reference/Statements
+tags:
+ - JavaScript
+ - 参考
+ - 声明
+ - 语句和声明
+translation_of: Web/JavaScript/Reference/Statements
+---
+<div>{{jsSidebar("Statements")}}</div>
+
+<p>JavaScript 应用程序是由许多语法正确的语句组成的。单个语句可以跨多行。如果每个语句用分号隔开,那么多个语句可以在一行中出现。本页的内容并不是一个关键字,而是一组关键字。</p>
+
+<h2 id="语句和声明(按类别分类)">语句和声明(按类别分类)</h2>
+
+<p>若需要按字母顺序排列的列表,请参阅左侧边栏。</p>
+
+<h3 id="控制流程"><span class="short_text" id="result_box" lang="zh-CN"><span>控制流程</span></span></h3>
+
+<dl>
+ <dt>{{jsxref("Statements/block", "Block")}}</dt>
+ <dd>一个块语句可以用来管理零个或多个语句。该区块是由一对大括号分隔。</dd>
+ <dt>{{jsxref("Statements/break", "break")}}</dt>
+ <dd>终止当前的循环,switch 或 label 语句,使程序跳到下一个语句执行。</dd>
+ <dt>{{jsxref("Statements/continue", "continue")}}</dt>
+ <dd>终止执行当前或标签循环的语句,直接执行下一个迭代循环。</dd>
+ <dt>{{jsxref("Statements/Empty", "Empty")}}</dt>
+ <dd>空语句用来表示没有语句的情况,尽管 JavaScript 语法期望有语句提供。</dd>
+ <dt>{{jsxref("Statements/if...else", "if...else")}}</dt>
+ <dd>如果指定的条件是 true ,则执行相匹配的一个语句,若为 false,则执行另一个语句。</dd>
+ <dt>{{jsxref("Statements/switch", "switch")}}</dt>
+ <dd>计算表达式,将子句于表达式的值做匹配,执行与该值相关联的语句。</dd>
+ <dt>{{jsxref("Statements/throw", "throw")}}</dt>
+ <dd>抛出一个用户定义的异常。</dd>
+ <dt>{{jsxref("Statements/try...catch", "try...catch")}}</dt>
+ <dd>标记一个语句块,并指定一个应该抛出异常的反馈。(Marks a block of statements to try, and specifies a response, should an exception be thrown.)</dd>
+</dl>
+
+<h3 id="声明">声明</h3>
+
+<dl>
+ <dt>{{jsxref("Statements/var", "var")}}</dt>
+ <dd>声明一个变量,可同时将其初始化为一个值。</dd>
+ <dt>{{jsxref("Statements/let", "let")}}</dt>
+ <dd>声明一个块级本地变量,可同时将其初始化为一个值。</dd>
+ <dt>{{jsxref("Statements/const", "const")}}</dt>
+ <dd>声明一个只读的命名常量。</dd>
+</dl>
+
+<h3 id="函数和类">函数和类</h3>
+
+<dl>
+ <dt>{{jsxref("Statements/function", "function")}}</dt>
+ <dd>声明一个指定参数的函数。</dd>
+ <dt>{{jsxref("Statements/function*", "function*")}}</dt>
+ <dd>生成器函数使<a href="/zh-CN/docs/Web/JavaScript/Guide/The_Iterator_protocol">迭代器</a>更容易使用。</dd>
+ <dt>{{jsxref("Statements/async_function", "async function")}}</dt>
+ <dd>使用指定的参数声明一个异步函数。</dd>
+ <dt>{{jsxref("Statements/return", "return")}}</dt>
+ <dd>指定函数的返回值。</dd>
+ <dt>{{jsxref("Statements/class", "class")}}</dt>
+ <dd>声明一个类。</dd>
+</dl>
+
+<h3 id="迭代器">迭代器</h3>
+
+<dl>
+ <dt>{{jsxref("Statements/do...while", "do...while")}}</dt>
+ <dd>创建一个循环来执行语句,直到该语句条件表达式的值为 false。先执行语句,再执行条件表达式,该语句至少会执行一次。</dd>
+ <dt>{{jsxref("Statements/for", "for")}}</dt>
+ <dd>创建一个由3个可选的表达式组成的循环,该循环用括号包裹,分号分割,并在循环体中执行语句。</dd>
+ <dt>{{jsxref("Statements/for...in", "for...in")}}</dt>
+ <dd>无序遍历对象的可枚举属性。语句针对每个唯一的属性。</dd>
+ <dt>{{jsxref("Statements/for...of", "for...of")}}</dt>
+ <dd>遍历可迭代的对象(包括 {{jsxref("Global_Objects/Array","数组")}}、类数组对象、<a href="/zh-CN/docs/JavaScript/Guide/Iterators_and_Generators">迭代器和生成器</a>),对每个不同属性的属性,调用一个自定义的有执行语句的迭代钩子。</dd>
+ <dt>{{jsxref("Statements/for-await...of", "for await...of")}}</dt>
+ <dd>在异步可迭代对象、类数组对象、<a href="/zh-CN/docs/JavaScript/Guide/Iterators_and_Generators">迭代器和生成器</a>上迭代,调用自定义迭代钩子,其中包含要为每个不同属性的值执行的语句。</dd>
+ <dt>{{jsxref("Statements/while", "while")}}</dt>
+ <dd>创建一个循环语句,循环会一直持续到该语句条件表达式的值为false。先执行条件表达式,然后执行语句。</dd>
+</dl>
+
+<h3 id="其他">其他</h3>
+
+<dl>
+ <dt>{{jsxref("Statements/debugger", "debugger")}}</dt>
+ <dd>调用可用的调试功能。如果没有调试功能可用,该语句不生效。</dd>
+ <dt>{{jsxref("Statements/export", "export")}}</dt>
+ <dd>用来导出函数,以便这些函数能够被导入到外部模块或其他脚本中。</dd>
+ <dt>{{jsxref("Statements/import", "import")}}</dt>
+ <dd>用来引入外部的模块或另一个script中导出的函数。</dd>
+ <dt><a href="/zh-CN/docs/Web/JavaScript/Reference/Statements/import.meta"><code>import.meta</code></a></dt>
+ <dd>向 JavaScript 模块公开上下文特定的元数据的元属性。</dd>
+ <dt>{{jsxref("Statements/label", "label")}}</dt>
+ <dd>带标识的语句,与 <code>break</code> 或 <code>continue</code> 语句一起使用。</dd>
+</dl>
+
+<dl>
+ <dt>{{jsxref("Statements/with", "with")}} {{deprecated_inline}}</dt>
+ <dd>拓展一个语句的作用域。</dd>
+</dl>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">规范</th>
+ <th scope="col">状态</th>
+ <th scope="col">备注</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES1', '#sec-12', 'Statements')}}</td>
+ <td>{{Spec2('ES1')}}</td>
+ <td>Initial definition</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES3', '#sec-12', 'Statements')}}</td>
+ <td>{{Spec2('ES3')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-12', 'Statements')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-ecmascript-language-statements-and-declarations', 'ECMAScript Language: Statements and Declarations')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>New: function*, let, for...of, yield, class</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-ecmascript-language-statements-and-declarations', 'ECMAScript Language: Statements and Declarations')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+
+
+<p>{{Compat("javascript.statements")}}</p>
+
+<h2 id="参见">参见</h2>
+
+<ul>
+ <li><a href="/zh-CN/docs/Web/JavaScript/Reference/Operators">表达式和操作符</a></li>
+</ul>