js错误有几种类型?

    xiaoxiao2023-10-27  150

    SyntaxError 对象

    SyntaxError对象是解析代码时发生的语法错误。

    // 变量名错误 var 1a; // Uncaught SyntaxError: Invalid or unexpected token // 缺少括号 console.log 'hello'); // Uncaught SyntaxError: Unexpected string
    ReferenceError 对象
    // 使用一个不存在的变量 unknownVariable // Uncaught ReferenceError: unknownVariable is not defined // 等号左侧不是变量 console.log() = 1 // Uncaught ReferenceError: Invalid left-hand side in assignment // this 对象不能手动赋值 this = 1 // ReferenceError: Invalid left-hand side in assignment
    RangeError 对象

    RangeError对象是一个值超出有效范围时发生的错误。主要有几种情况,一是数组长度为负数,二是Number对象的方法参数超出范围,以及函数堆栈超过最大值。

    // 数组长度不得为负数 new Array(-1) // Uncaught RangeError: Invalid array length
    TypeError 对象

    TypeError对象是变量或参数不是预期类型时发生的错误。比如,对字符串、布尔值、数值等原始类型的值使用new命令,就会抛出这种错误,因为new命令的参数应该是一个构造函数。

    new 123 // Uncaught TypeError: number is not a func var obj = {}; obj.unknownMethod() // Uncaught TypeError: obj.unknownMethod is not a function
    debugger

    可以直接在代码中写debugger,页面sources直接定位到相应位置,更加便捷。

    最新回复(0)