本对象代表了一个关于 eval 函数的错误.此异常不再会被JavaScript抛出，但是EvalError对象仍然保持兼容性.

## 语法

    new EvalError([message[, fileName[, lineNumber]]])

### 参数

message
  可选参数.人类可阅读的关于错误的描述.

fileName(非标准)
  可选参数.代码中导致异常的文件的文件名.

lineNumber(非标准)
  可选参数.代码中导致异常的代码的行号.

## 属性

prototype
  允许向EvalError对象中添加自定义属性.

## 方法

全局的EvalError对象本身不包含任何方法, 然而它通过原型链继承了一些方法.

## `EvalError` 实例

### 属性

`EvalError.prototype.constructor`
  指定创建实例原型的函数.
`EvalError.prototype.message`
  错误信息. 从 ECMA-262 开始 `EvalError` 提供 `message` （继承自`Error.prototype.message`）属性, 详见 SpiderMonkey.
`EvalError.prototype.name`
  错误名称.继承自 `Error`.
`EvalError.prototype.fileName`
  引发错误的文件路径. 继承自 `Error`.
`EvalError.prototype.lineNumber`
  引发错误所在行.继承自 `Error`.
`EvalError.prototype.columnNumber`
  引发错误所在的列. 继承自`Error`.
`EvalError.prototype.stack`
  堆栈.继承自 `Error`.

### 方法

虽然 `EvalError` 自己的属性方法较少, 但是通过原型链继承了很多有用的方法.

## 例子

`EvalError` 不在当前ECMAScript规范中使用，因此不会被运行时抛出. 但是对象本身仍然与规范的早期版本向后兼容.

### 创建 `EvalError`

    try {
      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。

Update compatibility data on GitHub

| Desktop | Mobile | Server
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | Android webview | Chrome for Android | Edge Mobile | Firefox for Android | Opera for Android | Safari on iOS | Samsung Internet | Node.js
`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

### Legend

Full support
  Full support

## 相关链接

- Error
- eval
- EvalError.prototype