JS几种常见的报错类型

JS的几种报错类型

js的控制台的报错类型主要分为两大类,一种是语法错误,这种错误直接就会导致js文件无法执行;另外一种是报错异常,这种错误会使之后的代码无法执行,但是之前的代码运行不受影响。下面分别来讲解。

SyntaxError

SyntaxError(语法错误):报错是因为在解析代码的时候发生语法错误。即写的代码不符合js编码规则。我们可以根据后面的信息提示去修改错误,当然,语法错误,浏览器会直接报错,整个代码都不会执行。

//1.变量名错误
var 2a;   //Uncaught SyntaxError: Invalid or unexpected token 

//2.括号不全
console.log 'b');  //Uncaught SyntaxError: Unexpected string 

//3.关键字赋值 
function = 3    // Uncaught SyntaxError: Unexpected token = 

ReferenceError

ReferenceError(引用错误):1.调用的变量或者方法未被定义便会报此错误
2.给一个变量赋值一个无法被赋值的对象。

// 1) 引用了不存在的变量
a()// Uncaught ReferenceError: a is not defined
console.log(a);  //Uncaught ReferenceError: a is not defined 引用一个不存在的变量,值无法分配给对象
// 2) 给一个无法被赋值的对象赋值
  var a=123
  console.log(a)=123;  Uncaught ReferenceError: Invalid left-hand side in assignment

TypeError

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

// 1) new关键字后接基本类型
var a = new 1;  //Uncaught TypeError: 1 is not a function

// 2) 调用不存在的方法
123() // Uncaught TypeError: 123 is not a function
var o = {}
o.run() // Uncaught TypeError: o.run is not a function

RangeError

RangeError(范围错误):当一个值不在其所允许的范围或者集合中。

//最典型的错误 数组的长度不能是负数
var a = new Array(-1);  //Uncaught RangeError: Invalid array length 超出有效范围
//Number对象的方法参数超出范围
  var num = new Number(12.23);
        console.log(num.toFixed(-1)); 
        // toFixed方法 // 说明: toFixed方法的作用是将数字四舍五入为指定小数位数的数字,参数是小数点后的位数,范围为0-20.(但是负数就会报错)

URIError

URIError(URL错误):与URI相关函数参数不正确,主要是encodeURI()、decodeURI()、encodeURIComponent()、decodeURIComponent()、escape()和unescape()这六个函数。(当向全局 URI 处理函数传递一个不合法的URI时,就会报错。)

decodeURI('%')  //Uncaught URIError: URI malformed

EvalError

EvalError(eval错误):eval函数没有被正确执行。在ES5以下的JavaScript中,当eval()函数没有被正确执行时,会抛出evalError错误。例如下面的情况:

var myEval = eval;
myEval("alert('call eval')");
new Error([message[fileName[lineNumber]]])
// 第一个参数表示错误提示信息,第二个是文件名,第三个是行号。

以上这6种派生错误,连同原始的Error对象,都是在开发中可以人为生成错误对象的实例。

throw new Error("出错了!"); 
throw new TypeError("出错了");

以上代码表示新建错误对象的实例,实质就是手动抛出错误。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在使用 quill.js 进行版本升级过程中,如果出现了 npm 报错,可能是由以下原因造成的: 1. 依赖包版本不兼容:升级 quill.js 版本后,可能需要更新相关依赖包的版本。如果没有更新依赖包,可能会导致依赖冲突或错误。可以通过查看 quill.js 官方文档或者社区来了解相关依赖包的版本要求,然后更新相应的依赖包。 2. 缺失其他依赖项:在进行版本升级时,有时候会引入新的依赖项。如果这些依赖项没有正确地通过 npm 安装,就会导致报错。可以尝试重新安装 quill.js 及其依赖项: ``` npm uninstall quill npm install quill ``` 3. 缺少必要的构建工具:某些 quill.js 的版本升级可能需要使用构建工具,例如 webpack、babel 等。如果没有正确配置这些构建工具,可能会导致报错。可以检查项目的构建工具配置是否正确,并按照 quill.js 官方文档或社区的要求进行配置。 4. 其他问题:除了上述原因外,还有可能出现其他问题导致 npm 报错。这时候可以尝试重新安装 npm 或者尝试使用其他支持 quill.js 的编辑器库。 总结来说,quill.js 升级版本时出现 npm 报错的原因很多,需要根据具体的错误信息来分析和解决。可以通过查看官方文档、社区讨论和相关资源来找到解决办法。如果问题仍然存在,可以贴出具体的错误信息,以便更好地帮助解决。 ### 回答2: 对于quill.js开发版本升级后出现的npm报错问题,可能是由于以下几个原因导致: 1. 依赖项错误:在升级版本后,可能某些依赖项的版本不兼容,导致npm报错。解决方法是检查相关依赖项的版本要求,并通过npm install命令更新它们。 2. 缓存问题:npm报错可能是由于缓存文件损坏或过期导致的。可以尝试清除npm的缓存,使用npm cache clean命令来清理缓存,然后重新运行npm install命令来安装quill.js。 3. 脚本冲突:升级版本后,可能出现原有脚本与新版本脚本冲突的情况,导致npm报错。解决方法是检查代码中是否有过时的、不兼容的API或脚本,进行相应的修改。 4. 安装问题:可能是npm安装过程中出现问题导致报错。可以尝试使用npm install --verbose命令来查看详细的安装日志,以定位具体出错的地方。 需要注意的是,具体的错误信息和报错内容会更有助于定位和解决该问题。可以根据报错信息进行相关的排查和调试操作。 ### 回答3: 当使用npm升级quill.js开发版本时,可能会遇到一些报错。其中一种常见报错是“npm ERR! Cannot read property 'startsWith' of undefined”。 这个报错通常是由于升级quill.js版本后,没有正确更新相关依赖项而导致的。解决这个问题的方法是执行以下步骤: 1. 首先,打开终端或命令提示符,并进入项目的根目录。 2. 然后,运行以下命令以删除node_modules文件夹: ``` rm -rf node_modules ``` 3. 接着,运行以下命令以安装所有依赖项: ``` npm install ``` 4. 最后,运行以下命令以构建项目: ``` npm run build ``` 完成上述步骤后,npm应该不再报错,并且你可以继续使用quill.js进行开发。请确保你的npm版本是最新的,同时也可以尝试使用yarn来管理依赖项,因为有时候使用yarn可以避免一些常见的npm错误。 总之,升级quill.js开发版本时,如果遇到npm报错,可以尝试删除node_modules文件夹并重新安装依赖项来解决问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值