ReferenceError
ReferenceError(引用错误)对象代表当一个不存在的变量被引用时发生的错误。
语法
new ReferenceError([message[, fileName[, lineNumber]]])
参数
message- 可选。描述可读的错误信息
 fileName- 可选。包含引起异常代码的文件名
 lineNumber- 可选。引起异常的代码行号
 
描述
当你尝试引用一个未被定义的变量时,将会抛出一个ReferenceError。
属性
ReferenceError.prototype- Allows the addition of properties to an 
ReferenceErrorobject. 
方法
全局的ReferenceError本身并不包含有方法,但是他可以从原型链上继承一些方法
ReferenceError实例
属性
ReferenceError.prototype.constructor- Specifies the function that created an instance's prototype.
 ReferenceError.prototype.message- Error message. Although ECMA-262 specifies that 
ReferenceErrorshould provide its ownmessageproperty, 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"
}
