非常教程

JavaScript参考手册

错误 | Errors

ReferenceError

The ReferenceError object represents an error when a non-existent variable is referenced.

语法

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

参数

message可选。描述可读的错误信息fileName可选。包含引起异常代码的文件名lineNumber可选。引起异常的代码行号

描述

当你尝试引用一个未被定义的变量时,将会抛出一个 ReferenceError

属性

ReferenceError.prototypeAllows the addition of properties to anReferenceErrorobject.

方法

全局的 ReferenceError本身并不包含有方法,但是他可以从原型链上继承一些方法

ReferenceError实例

属性

ReferenceError.prototype.constructorSpecifies the function that created an instance's prototype.

ReferenceError.prototype.messageError message. Although ECMA-262 specifies thatReferenceErrorshould provide its ownmessageproperty, inSpiderMonkey, it inheritsError.prototype.message.

ReferenceError.prototype.nameError name. Inherited fromError.

ReferenceError.prototype.fileNamePath to file that raised this error. Inherited fromError.

ReferenceError.prototype.lineNumberLine number in file that raised this error. Inherited fromError.

ReferenceError.prototype.columnNumberColumn number in line that raised this error. Inherited fromError.

ReferenceError.prototype.stackStack trace. Inherited fromError.

方法

尽管ReferenceError原型对象本身不包含任何方法,但ReferenceError实例通过原型链继承了一些方法。

示例

捕获一个 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"
}

规范

Specification

Status

Comment

ECMAScript 3rd Edition (ECMA-262)

Standard

Initial definition.

ECMAScript 5.1 (ECMA-262)The definition of 'ReferenceError' in that specification.

Standard

ECMAScript 2015 (6th Edition, ECMA-262)The definition of 'ReferenceError' in that specification.

Standard

ECMAScript Latest Draft (ECMA-262)The definition of 'ReferenceError' in that specification.

Living Standard

浏览器兼容性

Feature

Chrome

Edge

Firefox

Internet Explorer

Opera

Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

Feature

Android

Chrome for Android

Edge mobile

Firefox for Android

IE mobile

Opera Android

iOS Safari

Basic Support

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

(Yes)

错误 | Errors相关

1.Error
2.error.message
3.error.name
4.Error.prototype
5.error.toString
6.Errors
7.Errors: Already has pragma
8.Errors: Array sort argument
9.Errors: Bad octal
10.Errors: Bad radix
11.Errors: Bad regexp flag
12.Errors: Bad return or yield
13.Errors: Called on incompatible type
14.Errors: Cant access lexical declaration before init
15.Errors: Cant define property object not extensible
16.Errors: Cant delete
17.Errors: Cant redefine property
18.Errors: Cyclic object value
19.Errors: Dead object
20.Errors: Delete in strict mode
21.Errors: Deprecated caller or arguments usage
22.Errors: Deprecated expression closures
23.Errors: Deprecated octal
24.Errors: Deprecated source map pragma
25.Errors: Deprecated String generics
26.Errors: Deprecated toLocaleFormat
27.Errors: Equal as assign
28.Errors: For-each-in loops are deprecated
29.Errors: Getter only
30.Errors: Identifier after number
31.Errors: Illegal character
32.Errors: in operator no object
33.Errors: Invalid array length
34.Errors: Invalid assignment left-hand side
35.Errors: Invalid const assignment
36.Errors: Invalid date
37.Errors: Invalid for-in initializer
38.Errors: Invalid for-of initializer
39.Errors: JSON bad parse
40.Errors: Malformed formal parameter
41.Errors: Malformed URI
42.Errors: Missing bracket after list
43.Errors: Missing colon after property id
44.Errors: Missing curly after function body
45.Errors: Missing curly after property list
46.Errors: Missing formal parameter
47.Errors: Missing initializer in const
48.Errors: Missing name after dot operator
49.Errors: Missing parenthesis after argument list
50.Errors: Missing parenthesis after condition
51.Errors: Missing semicolon before statement
52.Errors: More arguments needed
53.Errors: Negative repetition count
54.Errors: No non-null object
55.Errors: No properties
56.Errors: No variable name
57.Errors: Non configurable array element
58.Errors: Not a codepoint
59.Errors: Not a constructor
60.Errors: Not a function
61.Errors: Not defined
62.Errors: Precision range
63.Errors: Property access denied
64.Errors: Read-only
65.Errors: Redeclared parameter
66.Errors: Reserved identifier
67.Errors: Resulting string too large
68.Errors: Stmt after return
69.Errors: Strict Non Simple Params
70.Errors: Too much recursion
71.Errors: Typed array invalid arguments
72.Errors: Undeclared var
73.Errors: Undefined prop
74.Errors: Unexpected token
75.Errors: Unexpected type
76.Errors: Unnamed function statement
77.Errors: Unterminated string literal
78.Errors: Var hides argument
79.EvalError
80.EvalError.prototype
81.RangeError
82.RangeError.prototype
83.ReferenceError.prototype
84.SyntaxError
85.SyntaxError.prototype
86.TypeError
87.TypeError.prototype
88.URIError
89.URIError.prototype
JavaScript

JavaScript 是一种高级编程语言,通过解释执行,是一门动态类型,面向对象(基于原型)的解释型语言。它已经由ECMA(欧洲电脑制造商协会)通过 ECMAScript 实现语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、IE、FireFox、Safari、Opera )支持。JavaScript 是一门基于原型、函数先行的语言,是一门多范式的语言,它支持面向对象编程,命令式编程,以及函数式编程。它提供语法来操控文本、数组、日期以及正则表达式等,不支持 I/O,比如网络