本对象代表了一个关于 eval 函数的错误.此异常不再会被JavaScript抛出,但是EvalError对象仍然保持兼容性.
new EvalError([message[, fileName[, lineNumber]]])
全局的EvalError对象本身不包含任何方法, 然而它通过原型链继承了一些方法.
EvalError 实例EvalError.prototype.constructorEvalError.prototype.messageEvalError 提供 message (继承自Error.prototype.message)属性, 详见 SpiderMonkey.EvalError.prototype.nameError.EvalError.prototype.fileNameError.EvalError.prototype.lineNumberError.EvalError.prototype.columnNumberError.EvalError.prototype.stackError.虽然 EvalError 自己的属性方法较少, 但是通过原型链继承了很多有用的方法.
EvalError 不在当前ECMAScript规范中使用,因此不会被运行时抛出. 但是对象本身仍然与规范的早期版本向后兼容.
EvalErrortry {
throw new EvalError('Hello', 'someFile.js', 10);
} catch (e) {
console.log(e instanceof EvalError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "EvalError"
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 (ECMA-262) | Standard | 初始定义. |
| ECMAScript 5.1 (ECMA-262) EvalError |
Standard | 本规范中未使用. 为了保持向后兼容. |
| ECMAScript 2015 (6th Edition, ECMA-262) EvalError |
Standard | 本规范中未使用. 为了保持向后兼容. |
| ECMAScript Latest Draft (ECMA-262) EvalError |
Draft |
该页面中的兼容性表格由结构化的数据生成。如果有意向贡献数据,请查看 https://github.com/mdn/browser-compat-data 并发起 pull request。
| Desktop | Mobile | Server | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
EvalError | Chrome Full support Yes | Edge Full support 12 | Firefox Full support 1 | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Edge Mobile Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes | nodejs Full support Yes |