JavaScript 调试常见报错以及原因
Posted tags: 篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript 调试常见报错以及原因相关的知识,希望对你有一定的参考价值。 测试环境 chrome 版本 66.0.3359.170(正式版本) (64 位) 不是操作符所接受的数据类型。 尝试给不能赋值的变量进行赋值。 设定的值在该数据类型的范围内。如数字的范围、数组长度的范围。 无法解析的代码。 以上是关于JavaScript 调试常见报错以及原因的主要内容,如果未能解决你的问题,请参考以下文章javascript 调试常见报错以及原因
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 /