关于SyntaxError、ReferenceError和TypeError(个人总结)

  一开始遇到这些error,我也很懵,不知道如何去查找我的错误。我对这三点做出以下总结

SyntaxError 经常在给eval()传入的字符串包含js语法错误时发生。在eval()外部很少会用到SyntaxError 。这是因为js代码中的语法错误会导致代码无法执行

ReferenceError是和作用域查找相关,这种错误经常是由访问不存在的变量而导致的。(没有给变量声明)

TypeError是查找作用域成功,但是对变量的操作非法或者错误所生成,即变量不是预期类型,或者访问不存在的方法时。尤其是在使用类型特定的操作而变量类型不对时。

后面再一点补充:

假如查找不到变量。LHS在非严格模式下找不到变量会自动生成全局变量,但是在严格模式会和RHS一样ReferenceError的错误。

假如能查找到变量,对其进行非法或者不正确的操作都会报TypeError的错误

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值