ReferenceError - JavaScript 编辑
概述
ReferenceError(引用错误)
对象代表当一个不存在的变量被引用时发生的错误。
语法
new ReferenceError([message[, fileName[, lineNumber]]])
参数
message
- 可选。描述可读的错误信息
fileName
- 可选。包含引起异常代码的文件名
lineNumber
- 可选。引起异常的代码行号
描述
当你尝试引用一个未被定义的变量时,将会抛出一个 ReferenceError
。
属性
ReferenceError.prototype
- Allows the addition of properties to an
ReferenceError
object.
方法
全局的 ReferenceError
本身并不包含有方法,但是他可以从原型链上继承一些方法
ReferenceError 实例
属性
ReferenceError.prototype.constructor
- Specifies the function that created an instance's prototype.
ReferenceError.prototype.message
- Error message. Although ECMA-262 specifies that
ReferenceError
should provide its ownmessage
property, in SpiderMonkey, it inheritsError.prototype.message
. ReferenceError.prototype.name
- Error name. Inherited from
Error
. ReferenceError.prototype.fileName
- Path to file that raised this error. Inherited from
Error
. ReferenceError.prototype.lineNumber
- Line number in file that raised this error. Inherited from
Error
. ReferenceError.prototype.columnNumber
- Column number in line that raised this error. Inherited from
Error
. ReferenceError.prototype.stack
- Stack trace. Inherited from
Error
.
方法
Although the ReferenceError
prototype object does not contain any methods of its own, ReferenceError
instances do inherit some methods through the prototype chain.
例子
例: 捕获一个 ReferenceError
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"
}
例: 创建一个 ReferenceError
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"
}
规范
规范 | 状态 | 说明 |
---|---|---|
ECMAScript 3rd Edition. | Standard | Initial definition. |
ECMAScript 5.1 (ECMA-262) ReferenceError | Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) ReferenceError | Standard |
浏览器兼容性
We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
Feature | Android | Chrome for Android | Firefox Mobile (Gecko) | IE Mobile | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) | (Yes) |
相关链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论