【JS调试】调试经验&错误提示

JS 调试经验

1、ietest 调试问题集合
  • “class”关键字问题,如果用class定义类或方法或属性,则在ie6~8中会报错,提示未定义。其实就是命名冲突的问题。

    以下几种命名方法都会报错:

var class = function(){};
var cla = {};cla.class = function(){};
var cla = {};cla.class = {};cla.class.clasub = function(){};

  • $("div > a") :用jquery 进行如下操作时 $("div > a") ,如果在ietest 的ie6中打开,可能会导致ietest挂掉。

  • map() 的兼容性问题

    一时兴起将for循环改为map,Chrome等正常运行,结果ietest中ie6和8都报错,提示没有此方法。

2、JS调试之 .console.log() PK  alert()

  console.log():直接在控制台输出相应内容。(点击查看详细教程)IE9以下无此方法,可以自定义该对象和方法,或者使用框架中提供的log方法。

  alert():会中断程序的运行,直到我们点击确认键。能大显身手了。在移动端浏览器的开发者工具弱爆了的现在,移动端的调试暂时只能依靠PC上的console+Mobile上的alert。 

JS 调试教程

  • 【JS调试】调试利器之web前端开发必知控制台命令

JS 运行时错误

JS 运行时错误是指当 JS 脚本试图执行一个系统不能运行的动作时导致的错误。当正在运行脚本、计算变量表达式、或者正在动态分配内存时出现 JS 运行时错误时。

错误   描述
5029 数组长度必须为一有限正整数

5030必须赋给数组长度一个有限正数

5028需要 Array 或 arguments 对象

5010需要 Boolean

5003不能给函数返回值赋值

5000不能给 'this' 赋值

5006需要 Date 对象

5015需要 Enumerator 对象

5022异常抛出,但无法抓住

5020正则表达式中缺少“)”

5019正则表达式中缺少“]”

5023函数没有合法的 Prototype 对象

5002需要 Function 对象

5008非法赋值5021字符集范围无效5014需要 JScript 对象5001需要 Number 类型5007需要 Object 类型5012需要对象的成员5016需要正则表达式对象5005需要 String5017正则表达式语法错误5026小数部分的位数越界5027精度越界5025待解码的 URI 编码非法5024待解码的 URI 包含有非法字符5009未定义标识符5018未预期的限定符5013需要 VBArray

 

JS 语法错误

JS 语法错误是指当 JS 语句违反了 JS 脚本语言的一条或多条语法规则时导致的错误。JS 语法错误发生在程序编译阶段,在开始运行该程序之前。

错误 描述

1019 在循环外不能有“break”
1020 在循环外不能有“continue”
1030 条件编译已关闭1027 一条 “switch” 语句中只能有一个 “default”1005 需要“(”1006 需要“)”1012 需要“/”1003 需要“:”1004 需要“;”1032 需要“@”1029 需要“@end”1007 需要“]”1008 需要“{”1009 需要“}”1011 需要“=”1033 需要“catch”1031 需要常数1023 需要十六进制数1010 需要标识符1028 需要标识符、字符串或者数字1024 需要“while”1014 非法字符1026 未找到标签1025 标签定义重复1018 函数外有 'return' 语句1002 语法错误1035 “Throw”的后面必须跟有一个表达式,且在同一源代码行上1016 注释未结束1015 字符串常数未结束

你可能感兴趣的:(【JS调试】调试经验&错误提示)