返回顶部
首页 > 资讯 > 精选 >JavaScript中有哪些原生错误类型
  • 472
分享到

JavaScript中有哪些原生错误类型

2023-06-14 22:06:41 472人浏览 八月长安
摘要

javascript中有哪些原生错误类型?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JavaScript的作用是什么1、能够嵌入动态文本于html页面。2、对

javascript中有哪些原生错误类型?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

JavaScript的作用是什么

1、能够嵌入动态文本于html页面。2、对浏览器事件做出响应。3、读写HTML元素。4、在数据被提交到服务器之前验证数据。5、检测访客的浏览器信息。6、控制cookies,包括创建和修改等。7、基于node.js技术进行服务器编程

1. RangeError

当数字超出允许的值范围时,将会抛出此错误。

例如

const l = console.loGConst arr = [90,88]arr.length=90**99

我们有一个数组,带有两个元素的 arr。接下来,尝试将数组扩展为包含90**99 == 2.9512665430652753e+193个元素。

这个数字超出了数组大小可以增长的范围。运行它会抛出 RangeError:

$ node errors

errors.js:4

arr.length=90**99

 ^RangeError: Invalid array length

因为我们要增加 arr 数组的大小超出了 JS 指定的范围。

2. ReferenceError

当对变量或项目的引用被破坏时,将会引发此错误。那是变量或项目不存在。

例如

const l=console.logconst cat = "cat"catdog

有一个变量cat被初始化为 “cat”。接下来引用了cat变量和dog变量。cat变量存在,而dog变量不存在。

cat将返回 “cat”,而dog将引发引用错误,因为在环境记录中找不到名称dog。

$ node errors

errors.js:3

dog

^ReferenceError: dog is not defined

每当我们创建或定义变量时,变量名称都会写入环境记录中。环境记录就像键值存储一样,

+-------------+

| Key | Value |

---------------

| cat | "cat" |

+-------------+

每当我们引用变量时,它都会存储程序中定义的变量。当在记录中找到环境值并提取并返回值时,将以该变量的名称作为关键字在环境记录进行搜索。调用尚未定义的函数。

现在,当我们创建或定义一个没有赋值的变量时。变量将其键作为变量名写入环境记录,但其值将会保持未定义的状态。

var catenv record

+-----------------+

| Key | Value |

-------------------

| cat | undefined |

+-----------------+

稍后为变量分配值时,将在环境记录中搜索该变量,当发现它未定义值时,该赋值将被覆盖。

var cat

cat = "cat"env record

+-------------+

| Key | Value |

---------------

| cat | "cat" |

+-------------+

所以当在环境记录中找不到变量名时,JS 引擎将引发 RefernceError。

+-------------+

| Key | Value |

---------------

| cat | "cat" |

+-------------+cat // "cat", yes, :) it's there

dog // :( what's this? can't find it

注意:未定义的变量不会抛出 ReferenceError,因为它在于环境记录中的值尚未设置。

3. SyntaxError

这是最常见的错误。当我们输入 JS 引擎不能理解的代码时,就会发生这个错误。

JS 引擎在解析期间捕获了这个错误。在 JS 引擎中,我们的代码经历了不同的阶段,然后才能在终端上看到结果。

  • 标记化

  • 解析

  • 解释

标记化将代码的源分解为各个单元。在此阶段,将对数字、关键字、文字、运算符进行分类并分别标记。

接下来,生成的标记流将会传递到解析阶段,由解析器处理。这是从标记流生成 AST 的地方。 AST 是代码结构的抽象表示。

在标记化和解析这两个阶段,如果我们代码的语法不符合 JS 的语法规则,则会使该阶段失败并引发 SyntaxError。例如:

const l = console.loglet cat h = "cat"

代码中的 “h” 代表什么?这个 “h” 破坏了代码。

$ node errors

errors.js:3

let cat h = "cat"

 ^SyntaxError: Unexpected identifier

看,Node.js 指出了问题的所在。它说 “h” 是意外的,它破坏了cat 变量的声明。

因此,可以说语法错误在解析或编译期间发生。

4. TypeError

当其他 NativeError 对象中没有适当的失败原因的指示时,TypeError 用于指示操作失败。

对错误的数据类型执行操作时会发生 TypeError,例如:

如果我们尝试将数字转换为大写,如下所示:

const num = 123num.toUpperCase()

这将引发TypeError

$ node errors

errors.js:4

num.toUpperCase()

 ^TypeError: num.toUpperCase is not a function

因为toUpperCase函数需要字符串数据类型。toUpperCase函数是有意通用的;它不需要其this值是String对象。因此,可以将其转移到其他种类的对象中用作方法。

只有字符串才会转换为大写或小写形式,如果我们在 Objects、Boolean、Symbol、null、undefined 数据类型上调用toUpperCase函数,则将会得到 TypeError,因为它操作的数据类型错误。

5. URIError

这表明使用了一种与其定义不兼容的全局 URI 处理函数。

JS 中的 URI(统一资源指示符)具有以下功能:decodeURI、decodeURIComponent 等。

如果我们用错误的参数去调用其中任何一个,将得会到一个 URIError。

decodeURI("%")^URIError: URI malfORMed

encodeURI用于获取 URI 的未编码版本。 “%” 不是正确的 URI,因此引发了URIError。

当 URI 编码或解码出现问题时,会引发 URIError。

6. EvalError

当使用全局eval()函数时,这用于识别错误。

根据 EcmaSpec 2018 版:

此规范当前未使用此异常。保留它目的是为了与本规范的先前版本兼容。

7. InternalError

该错误在 JS 引擎内部发生,特别是当它有太多数据要处理并且栈增长超过其关键限制的时侯。

当 JS 引擎被过多的递归和切换情况等淹没时,就会发生这种问题

switch(num) { case 1: ... break case 2: ... break case 3: ... break case 4: ... break case 5: ... break case 6: ... break case 7: ... break ... up to 1000 cases }

以下是一个简单的过多递归的例子:

function foo() {    foo()}foo()

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网精选频道,感谢您对编程网的支持。

--结束END--

本文标题: JavaScript中有哪些原生错误类型

本文链接: https://lsjlt.com/news/275431.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • JavaScript中有哪些原生错误类型
    JavaScript中有哪些原生错误类型?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。JavaScript的作用是什么1、能够嵌入动态文本于HTML页面。2、对...
    99+
    2023-06-14
  • JavaScript的原生错误类型有哪些
    这篇文章给大家介绍JavaScript的原生错误类型有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。从浏览器控制台到运行 Node.js 的终端,我们...
    99+
    2024-04-02
  • JavaScript中的错误类型有哪些
    小编给大家分享一下JavaScript中的错误类型有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • javascript的错误类型有哪些
    这篇文章主要介绍“javascript的错误类型有哪些”,在日常操作中,相信很多人在javascript的错误类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java...
    99+
    2024-04-02
  • JavaScript 中的错误对象类型有哪些
    这期内容当中小编将会给大家带来有关JavaScript 中的错误对象类型有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。属性Error 对象具有2个属性:(1) na...
    99+
    2024-04-02
  • javascript原始类型有哪些
    javascript中的原始类型有:1.number,数值对象;2.string,字符串对象;3.boolean,布尔对象;4.undefined,未定义类型;5.null,空类型;6.symbol,唯一标识符;javascript中的原始...
    99+
    2024-04-02
  • python错误类型有哪些
    python中的错误类型:1.语法错误,编写程序时代码不符合语言本身的规则和逻辑引发的错误;2.逻辑错误,编写程序时代码违反形式逻辑规律的要求和逻辑规则而产生的错误;python中的错误类型一般分为语法错误和逻辑错误两种语法错误python...
    99+
    2024-04-02
  • php错误类型有哪些
    php中错误的类型有注意错误、警告错误和致命错误三种注意错误php中注意错误一般是指比较小而且不严重的错误,注意错误是不会出现提示的,但会影响程序的运行结果,出现注意错误情况有,如访问一个未被定义的变量。警告错误php中警告错误是指稍微严重...
    99+
    2024-04-02
  • javascript中有哪些类型
    这篇“javascript中有哪些类型”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“jav...
    99+
    2024-04-02
  • Js中的常见错误类型有哪些
    本篇内容主要讲解“Js中的常见错误类型有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Js中的常见错误类型有哪些”吧!JavaScript中的错误类型ErrorEvalErrorRangeE...
    99+
    2023-06-29
  • php错误提示类型有哪些
    本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑php错误提示类型1、解析错误或语法错误语法错误是在编程中最容易碰到也是最容易解决的一种错误,例如:遗漏一个分号时就会显示错误信息。这种错误会停止程序的执行,并显示出错...
    99+
    2014-11-12
    php 错误提示类型 错误类型
  • html错误页面有哪些类型
    这篇“html错误页面有哪些类型”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“html错误页面有哪些类型”文章吧。一、错误页...
    99+
    2023-07-06
  • JavaScript错误有哪些
    这篇“JavaScript错误有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Java...
    99+
    2024-04-02
  • JavaScript中原型有哪些规则
    今天就跟大家聊聊有关JavaScript中原型有哪些规则,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。javascript是一种什么语言javascript是一种动态类型、弱类型的语...
    99+
    2023-06-14
  • javascript中有哪些数值类型
    本篇内容主要讲解“javascript中有哪些数值类型”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript中有哪些数值类型”吧! ...
    99+
    2024-04-02
  • PHP中最低级别的错误类型有哪些
    本篇内容主要讲解“PHP中最低级别的错误类型有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中最低级别的错误类型有哪些”吧!序言:php错误就是会使脚本运行不正常的情况。php的错误有...
    99+
    2023-06-22
  • 原生JavaScript技巧有哪些
    这篇文章主要介绍“原生JavaScript技巧有哪些”,在日常操作中,相信很多人在原生JavaScript技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”原生Java...
    99+
    2024-04-02
  • javascript原生函数有哪些
    javascript中的原生函数有:1.Array(),构建数组的内建构造器函数;2.Number(),将对象的值转换为数字;3.String(),将对象的值转换为字符串;4.Boolean(),将对象的值转换为字符串;5.Date(),返...
    99+
    2024-04-02
  • JavaScript中的六种错误类型
    刚入前端坑,英语又不太好的同学,是不是还在为控制台的错误抓耳挠腮?今天就带大家看一看javaScript中常见的错误类型。1. SyntaxError:语法错误// 1. Syntax Error: 语法错误// 1.1 变量名不符合规范v...
    99+
    2023-06-03
  • JavaScript中有哪些dom节点类型
    本篇文章为大家展示了JavaScript中有哪些dom节点类型,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。JavaScript的特点1.JavaScript主要用来向HTML页面添加交互行为。2....
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作