aboutsummaryrefslogtreecommitdiff
path: root/files/zh-cn/web/javascript/reference/global_objects/referenceerror
diff options
context:
space:
mode:
Diffstat (limited to 'files/zh-cn/web/javascript/reference/global_objects/referenceerror')
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/referenceerror/index.html168
-rw-r--r--files/zh-cn/web/javascript/reference/global_objects/referenceerror/prototype/index.html92
2 files changed, 260 insertions, 0 deletions
diff --git a/files/zh-cn/web/javascript/reference/global_objects/referenceerror/index.html b/files/zh-cn/web/javascript/reference/global_objects/referenceerror/index.html
new file mode 100644
index 0000000000..1d42786c00
--- /dev/null
+++ b/files/zh-cn/web/javascript/reference/global_objects/referenceerror/index.html
@@ -0,0 +1,168 @@
+---
+title: ReferenceError
+slug: Web/JavaScript/Reference/Global_Objects/ReferenceError
+translation_of: Web/JavaScript/Reference/Global_Objects/ReferenceError
+---
+<div>{{JSRef("Global_Objects", "Error", "EvalError,InternalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError")}}</div>
+
+<h2 id="Summary" name="Summary">概述</h2>
+
+<p><code><strong>ReferenceError(引用错误)</strong></code> 对象代表当一个不存在的变量被引用时发生的错误。</p>
+
+<h2 id="Syntax" name="Syntax">语法</h2>
+
+<pre class="syntaxbox"><code>new ReferenceError([<var>message</var>[, <var>fileName</var>[, <var>lineNumber</var>]]])</code></pre>
+
+<h3 id="Parameters" name="Parameters">参数</h3>
+
+<dl>
+ <dt><code>message</code></dt>
+ <dd>可选。描述可读的错误信息</dd>
+ <dt><code>fileName</code> {{non-standard_inline}}</dt>
+ <dd>可选。包含引起异常代码的文件名</dd>
+ <dt><code>lineNumber</code> {{non-standard_inline}}</dt>
+ <dd>可选。引起异常的代码行号</dd>
+</dl>
+
+<h2 id="Description" name="Description">描述</h2>
+
+<p>当你尝试引用一个未被定义的变量时,将会抛出一个 <code>ReferenceError</code> 。</p>
+
+<h2 id="Properties" name="Properties">属性</h2>
+
+<dl>
+ <dt>{{jsxref("ReferenceError.prototype")}}</dt>
+ <dd>Allows the addition of properties to an <code>ReferenceError</code> object.</dd>
+</dl>
+
+<h2 id="Methods" name="Methods">方法</h2>
+
+<p>全局的 <code>ReferenceError</code> 本身并不包含有方法,但是他可以从原型链上继承一些方法</p>
+
+<h2 id="ReferenceError_instances" name="ReferenceError_instances"><code>ReferenceError</code> 实例</h2>
+
+<h3 id="Properties_of_ReferenceError_instances" name="Properties_of_ReferenceError_instances">属性</h3>
+
+<div>{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError/prototype', 'Properties')}}</div>
+
+<h3 id="Methods_of_ReferenceError_instances" name="Methods_of_ReferenceError_instances">方法</h3>
+
+<div>{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/ReferenceError/prototype', 'Methods')}}</div>
+
+<h2 id="Examples" name="Examples">例子</h2>
+
+<h3 id="Example:_Catch_an_ReferenceError" name="Example:_Catch_an_ReferenceError">例: 捕获一个 <code>ReferenceError</code></h3>
+
+<pre class="brush: js">try {
+ var a = undefinedVariable;
+} catch (e) {
+ console.log(e instanceof ReferenceError); // true
+ console.log(e.message); // "undefinedVariable is not defined"
+ console.log(e.name); // "ReferenceError"
+ console.log(e.fileName); // "Scratchpad/1"
+ console.log(e.lineNumber); // 2
+ console.log(e.columnNumber); // 6
+ console.log(e.stack); // "@Scratchpad/2:2:7\n"
+}
+</pre>
+
+<h3 id="Example:_Create_an_ReferenceError" name="Example:_Create_an_ReferenceError">例: 创建一个 <code>ReferenceError</code></h3>
+
+<pre class="brush: js">try {
+ throw new ReferenceError('Hello', 'someFile.js', 10);
+} catch (e) {
+ console.log(e instanceof ReferenceError); // true
+ console.log(e.message); // "Hello"
+ console.log(e.name); // "ReferenceError"
+ console.log(e.fileName); // "someFile.js"
+ console.log(e.lineNumber); // 10
+ console.log(e.columnNumber); // 0
+ console.log(e.stack); // "@Scratchpad/2:2:9\n"
+}
+</pre>
+
+<h2 id="规范">规范</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">规范</th>
+ <th scope="col">状态</th>
+ <th scope="col">说明</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 3rd Edition.</td>
+ <td>Standard</td>
+ <td>Initial definition.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.11.6.3', 'ReferenceError')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-referenceerror', 'ReferenceError')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Android</th>
+ <th>Chrome for Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">相关链接</h2>
+
+<ul>
+ <li>{{jsxref("Error")}}</li>
+ <li>{{jsxref("ReferenceError.prototype")}}</li>
+</ul>
diff --git a/files/zh-cn/web/javascript/reference/global_objects/referenceerror/prototype/index.html b/files/zh-cn/web/javascript/reference/global_objects/referenceerror/prototype/index.html
new file mode 100644
index 0000000000..90f74dc4b1
--- /dev/null
+++ b/files/zh-cn/web/javascript/reference/global_objects/referenceerror/prototype/index.html
@@ -0,0 +1,92 @@
+---
+title: ReferenceError.prototype
+slug: Web/JavaScript/Reference/Global_Objects/ReferenceError/prototype
+tags:
+ - Error
+ - JavaScript
+ - Property
+ - Prototype
+ - ReferenceError
+translation_of: Web/JavaScript/Reference/Global_Objects/ReferenceError
+---
+<div>{{JSRef}}</div>
+
+<p><code><strong>ReferenceError.prototype</strong></code> 表示 {{jsxref("ReferenceError")}} 的原型构造器。</p>
+
+<div>{{js_property_attributes(0, 0, 0)}}</div>
+
+<h2 id="描述">描述</h2>
+
+<p>所有{{jsxref("ReferenceError")}} 实例都继承自 <code>ReferenceError.prototype</code>. 你可以使用原型来为所有实例添加属性和方法。</p>
+
+<h2 id="属性">属性</h2>
+
+<dl>
+ <dt><code>ReferenceError.prototype.constructor</code></dt>
+ <dd>创建一个实例原型的函数。</dd>
+ <dt>{{jsxref("Error.prototype.message", "ReferenceError.prototype.message")}}</dt>
+ <dd>错误信息。尽管ECMA-262 曾表示 {{jsxref("ReferenceError")}} 应该提供自己的 <code>message</code> 属性, 在 <a href="/en-US/docs/Mozilla/Projects/SpiderMonkey">SpiderMonkey</a> 中, 它继承自{{jsxref("Error.prototype.message")}}.</dd>
+ <dt>{{jsxref("Error.prototype.name", "ReferenceError.prototype.name")}}</dt>
+ <dd>错误名称. 继承自{{jsxref("Error")}}.</dd>
+ <dt>{{jsxref("Error.prototype.fileName", "ReferenceError.prototype.fileName")}}</dt>
+ <dd>出现这个错误的路径. 继承自 {{jsxref("Error")}}.</dd>
+ <dt>{{jsxref("Error.prototype.lineNumber", "ReferenceError.prototype.lineNumber")}}</dt>
+ <dd>出现这个错误的行号. 继承自 {{jsxref("Error")}}.</dd>
+ <dt>{{jsxref("Error.prototype.columnNumber", "ReferenceError.prototype.columnNumber")}}</dt>
+ <dd>出现这个错误的列号. 继承自 {{jsxref("Error")}}.</dd>
+ <dt>{{jsxref("Error.prototype.stack", "ReferenceError.prototype.stack")}}</dt>
+ <dd>堆栈追踪. 继承自 {{jsxref("Error")}}.</dd>
+</dl>
+
+<h2 id="方法">方法</h2>
+
+<p>尽管 {{jsxref("ReferenceError")}} 原型对象自身没有包括任何方法, {{jsxref("ReferenceError")}} 实例确实从原型链中继承了一些方法。</p>
+
+<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('ES3')}}</td>
+ <td>{{Spec2('ES3')}}</td>
+ <td>初始定义</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.11.7.6', 'NativeError.prototype')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td>
+ <p>Defined as <code><em>NativeError</em>.prototype</code>.</p>
+ </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Defined as <code><em>NativeError</em>.prototype</code>.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-nativeerror.prototype', 'NativeError.prototype')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td>Defined as <code><em>NativeError</em>.prototype</code>.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="浏览器兼容性">浏览器兼容性</h2>
+
+<div>
+
+
+<p>{{Compat("javascript.builtins.ReferenceError")}}</p>
+</div>
+
+<h2 id="参见">参见</h2>
+
+<ul>
+ <li>{{jsxref("Error.prototype")}}</li>
+ <li>{{jsxref("Function.prototype")}}</li>
+</ul>