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 /
到此这篇关于JavaScript 调试常见报错以及原因的文章就介绍到这了,更多相关js调试常见报错内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!