含义:超出了最大的堆栈大小
在使用递归时消耗大量堆栈,导致浏览器抛出错误,因为浏览器给分配的内存不是无限的。
ReferenceError: "x" is not defined
含义:“x”未定义
当你引用一个没有定义的变量时,抛出一个ReferenceError; 当你使用变量的时候,这个变量必须要声明,或者你可以确保它在你当前的脚本或作用域 (scope) 中可用。
SyntaxError: Identifier 'x' has already been declared
含义: 标识符已申明
某个变量名称已经作为参数出现了,又在使用let再次声明。
SyntaxError: Invalid or unexpected token
含义:捕获无效或意外的标记
代码中有非法的字符或者缺少必要的标识符号,比如减号 ( - ) 与连接符 ( – ) ,或者是英文双引号 ( " ) 与中文双引号 ( “ )。
SyntaxError: Unexpected end of input
含义:意外的终止输入
代码中某些地方的括号或引号不匹配缺失,缺少()、[]、{}等。
TypeError: Cannot read property 'x' of undefined TypeError: Cannot set property 'x' of undefined
含义:无法读取属性‘x’, 无法设置属性 'x'
访问或设置未定义(undefined)或null值的属性时会发生这种报错。
TypeError: 'x' is not a constructor
含义:表示 ‘x’不是构造函数
使用不是构造器的对象或者变量来作为构造器使用。比如:new 10;
SyntaxError: Invalid regular expression flags
含义:正则表达式标志无效为什么报错?在代码中出现了无效的正则表达式的标记。举个栗子 →