JavaScript调试问题

常见错误:

  • 回归基础:

1、JavaScript是大小写敏感的,所以请检查你的大小写情况。
2、如果没有使用var来声明全局变量,它就会变成一个全局变量,那么它的值就可以被其它代码重写(无论是你的脚本还是其它页面中的脚本都能做这种操作)
3、如果无法访问一个变量的值,请检查它是否不在作用域内,比如它是在其他函数中声明的。
4、不要在变量名中使用保留字和横线
5、检查并确保单双引号是成对的
6、检查并确保变量值中的引号已经转义
7、检查并确保HTML中的id属性的值是唯一的

  • 缺少或多余的字符:

1、每条语句都应该以分号结尾
2、检查并确保没有缺少的右花括号或右括号
3、检查并确保逗号没有出现,}和,)这种意外的用法
4、需要测试的条件语句要添加到括号内
5、检查并确保调用函数时没有缺少参数
6、undefined和null不是一回事。null是针对对象而言,undefined则针对属性,方法或变量。
7、检查并确保脚本已经加载就绪(特别是来自CDN的文件)
8、检查各个脚本文件之间是否存在冲突。

  • 数据类型错误

1、使用=并不能判断值是否匹配,而是会对变量赋值,应当使用==
如果在检查值是否匹配,请尝试使用严格比较来同时检查数据类型(使用===而不是==)
2、switch语句中的值类型并不是宽松的,它们会被强制转换
一旦switch语句找到匹配的case,就会执行该case后面的所有代码,知道遇到break和return为止
3、replace()方法只能替换掉第一个匹配项。如果想替换掉所有匹配项,请使用全局标识
4、如果在使用parselnt()方法,可能需要传递基数(即用来表示数字的位数,包括0在内)

解决方法:

  1. 换个浏览器:有些问题是浏览器特定的,换个浏览器来测试代码,看看到底是谁导致了问题。
  2. 输出序号:向控制台输出数字,这样就能看到都记录了哪些数字,它们能告诉你代码在出错之前执行到了什么位置。
  3. 精简代码:移除部分代码,精简到不能再精简的位置。可以直接将这些代码删除,也可以使用多行注释把它们注释掉。
  4. 解释代码:程序员经常会在向其他人解释代码时找到问题的解决方案。
  5. 搜索:Stack Overflow是一个面向程序员的问答网站。或使用诸如Google、Baidu或DuckDuckGo等传统搜索引擎
  6. 代码演讲场:如果想在论坛中就问题代码求助,除了将代码贴到帖子里之外,还可以将代码添加到代码演练场网站(比如JSBin.com、JSFiddle.com或Dabblet.com),然后将链接发表到论坛中。还有一些流行的游乐场,比如CSSDeck.com和CodePen.com——但它们更加注重展示说明。
  7. 验证工具:有许多在线验证工具可以帮助你找到代码中的错误:
    JavaScript:http://www.jslint.com
    JSON:http://www.jshint.com
    jQuery:Chrome Web Store 有一个jQuery调试器插件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值