一、JavaScript运行错误
JavaScript 运行时错误是指当 JavaScript 脚本试图执行一个系统不能运行的动作时导致的错误。当正在运行脚本、计算变量表达式、或者正在动态分配内存时出现 JavaScript 运行时错误时。
错误号 | 错误描述 | 解析 |
---|---|---|
5029 | 数组长度必须为一有限正整数 | 在调用 Array 构造函数时使用的参数不是自然数(所谓自然数就是零加上正整数集合)。 |
5030 | 必须赋给数组长度一个有限正数 | 在对现有 Array 对象设置其 length 属性时,所指定的数组长度不是正整数,也不是零。如果给某个 Array 对象的 length 属性所赋的值时为负数或不是数值 (NaN) 时,就会产生这个错误。请注意 JavaScript 会自动将小数数值转换为整数。 |
5028 | 需要 Array 或 arguments 对象 | 没有将数组作为参数。这个错误只在 Function.prototype.apply方法中发生。如果使用这个函数,则该函数的第二个参数要么是 Array 对象,要么是 Arguments 对象。 |
5010 | 需要 Boolean | 试图用一个不是 Boolean 类型的对象来调用 Boolean.prototype.toString 或者 Boolean.prototype.valueOf 方法。这种调用类型的对象必须是 Boolean 类型。 |
5003 | 不能给函数返回值赋值 | 试图将一个值赋给函数结果。可以将函数结果赋给某个变量,但其本身不能用作变量。如果希望将一个新值赋给该函数本身,则不要圆括号(函数调用操作符)。 |
5000 | 不能给 'this' 赋值 | 试图给 this 赋值,this 是 JavaScript 关键字,表示: 当前正在执行某个方法的对象, 如果没有当前方法(或该方法不属于任何其它对象),则是指全局对象。 所谓方法就是由对象调用的 JavaScript 函数。在一个方法内, this 关键字代表调用该方法的对象的引用(这种情况下,就是指使用 new 操作符调用类构造函数所创建的对象)。在一个方法内可以使用 this 来引用当前对象,但不能对其赋予新的值。 |
5006 | 需要 Date 对象 | 试图对一个不是Date 类型的对象调用 Date.prototype.toString 或 Date.prototype.valueOf 方法。这种调用类型的对象必须是 Date 类型。 |
5015 | 需要 Enumerator 对象 | 试图对一个非 Enumerator 类型的对象调用 Enumerator.prototype.atEnd、 Enumerator.prototype.item、 Enumerator.prototype.moveFirst 或者 Enumerator.prototype.moveNext 方法。这种调用类型的对象必须是 Enumerator 类型。 |
5022 | 异常抛出,但无法抓住 | 在代码中包括了一条 throw 语句,但没有将其包含在某个 try 语句块内,或者没有相关的 catch 语句块来捕获错误。异常是在 try 语句块中使用 throw 语句被抛出,并且应该由 try 语句块外的 catch 语句抓住。 |