JavaScript 调试常见报错以及原因

JavaScript 调试常见报错以及原因

测试环境 chrome 版本 66.0.3359.170(正式版本) (64 位)

TypeError 类型错误

不是操作符所接受的数据类型。

  //-------- 把不是函数的值当做函数调用
  var foo = undefined;
  foo();
  // Uncaught TypeError: foo is not a function
  // foo 不是一个函数

  //-------- 调用对象中不存在的函数, 其实就是 undefined
  var x = document.getElementByID('foo');
  // Uncaught TypeError: document.getElementByID is not a function
  // 调用的值不是一个函数

  //-------- 调用未声明的方法
  lala();
  // Uncaught ReferenceError: lala is not defined
  // lala 没有定义

  //-------- 把 null 或 undefined 当成对象
  var someVal = null;
  someVal.foo;
  // Uncaught TypeError: Cannot read property 'foo' of null
  // 无法读取 null 的 foo 属性

  var someVal = undefined;
  someVal.foo;
  // Uncaught TypeError: Cannot read property 'foo' of undefined
  // 无法读取 undefined 的 foo 属性

ReferenceError 引用错误

尝试给不能赋值的变量进行赋值。

  //-------- 尝试给不能赋值的变量进行赋值。
  function doSomething(){};
  doSomething() = 'somevalue'
  // Uncaught ReferenceError: Invalid left-hand side in assignment
  // 赋值符的左侧无效

RangeError 范围错误

设定的值在该数据类型的范围内。如数字的范围、数组长度的范围。

  [].length = -1 // 数据的 length 不能小于 0
  [].length = undefined //
  // Uncaught RangeError: Invalid array length
  // 无效的数组长度

SyntaxError 语法错误

无法解析的代码。

  //-------- 拼接字符串,但是没有使用 + 号
  'ni' 'hao'
  // Uncaught SyntaxError: Unexpected string
  // 意料之外的字符串

  //-------- 没有使用成对的引号
  var str = 'ni hao
  // Uncaught SyntaxError: Invalid or unexpected toke
  // 无效或意料之外的标记

  //-------- 无效的正则
  var reg = /[/
  // Uncaught SyntaxError: Invalid regular expression: missing /

转载于:https://www.cnblogs.com/daysme/p/9045407.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值