1、 Uncaught TypeError: Cannot Read Property

这是 JavaScript 开发人员最常遇到的错误。当你读取一个属性或调用一个未定义对象的方法时,Chrome 中就会报出这样的错误。导致这个错误发生的原因有很多,常见的一种情况是在渲染 UI 组件时,不正确地初始化状态。

2、 TypeError: ‘undefined’ Is Not an Object (evaluating...)

这是在 Safari 中读取属性或调用未定义对象上的方法时发生的错误。您可以在 Safari Developer Console 中轻松测试。这与 1 中提到的 Chrome 的错误基本相同,但 Safari 使用了不同的错误消息提示语。

3、TypeError: Null Is Not an Object (evaluating...)

这是在 Safari 中读取属性或调用空对象上的方法时发生的错误。您可以在 Safari Developer Console 中轻松测试。有趣的是,在 JavaScript 中,null 和 undefined 是不一样的,这就是为什么我们看到两个不同的错误信息。undefined 通常是一个尚未分配的变量,而 null 表示该值为空。要验证它们不相等,请尝试使用严格的相等运算符 ===:在现实世界的例子中,这种错误可能发生的一种场景是:如果在加载元素之前尝试在 JavaScript 中使用元素。因为 DOM API 对于空白的对象引用返回值为 null。任何执行和处理 DOM 元素的 js 代码都应该在创建 DOM 元素之后执行。js 代码按照 html 中的规定从上到下进行解释。 所以,如果 DOM 元素之前有一个标签,脚本标签内的 js 代码将在浏览器解析 html 页面时执行。如果在加载脚本之前尚未创建 DOM 元素,则会出现此错误。

4、(unknown): Script Error

当未捕获的 JavaScript 错误违背跨边界原则时,就会发生脚本错误。例如,如果将 JavaScript 代码托管在 CDN 上,则任何未被捕获的错误(通过 window.onerror 处理程序发出的错误,而不是 try-catch 中捕获到的错误)将仅报告为“脚本错误”。这是浏览器的一种安全措施,主要用于防止跨域传递数据的情况出现。将 Access-Control-Allow-Origin 设置为 *, 表示可以从任何域正确访问资源。* 如有必要,也可以用自己的域名进行替换,例如:

Access-Control-Allow-Origin: www.example.com

5、 TypeError: Object Doesn’t Support Property

当调用未定义的方法时,IE 中会发生这样的错误。这相当于 Chrome 中的 “undefined’ is not a function” 错误。对于相同的逻辑错误,不同的浏览器可能会有不同的错误消息。这是在 IE 的 Web 应用程序中使用 JavaScript 命名空间出现的一个常见问题。出现这种情况的绝大部分原因是IE无法将当前名称空间内的方法绑定到this关键字。

6、TypeError: ‘undefined’ Is Not a Function

当调用未定义的函数时,Chrome 中就会发生这样的错误。随着 JavaScript 编码技术和设计模式在过去几年中变得越来越复杂,回调和闭包中的自引用范围也相应增加,这是造成这种混乱现象的主要来源。

7、Uncaught RangeError: Maximum Call Stack

这是在很多种情况,Chrome 中发生的错误,一种情况是当你调用一个不会终止的递归函数时。如果将值传递给超出范围的函数,也可能会发生这种情况。许多函数只接受特定范围内的数字输入值。

8、TypeError: Cannot Read Property ‘length’

这是 Chrome 中发生的错误,因为读取了未定义长度属性的变量。通常在数组中能够找到定义的长度,但是如果数组未初始化或变量名在另一个上下文中隐藏,则可能会出现这种错误。

9、 Uncaught TypeError: Cannot Set Property

当尝试访问未定义的变量时,总会返回 undefined。我们也无法获取或设置 undefined 的任何属性。在这种情况下,应用程序将抛出“Uncaught TypeError cannot set property of undefined”。

10、ReferenceError: Event Is Not Defined

尝试访问未定义的变量或当前范围之外的变量时会引发此错误。如果在使用事件处理系统时遇到此错误,请确保使用传入的事件对象作为参数。IE 这样的浏览器提供了全局变量事件,Chrome 会自动将事件变量附加到处理程序中,Firefox 则不会自动添加事件变量。

结论

事实证明很多这些 null 或 undefined 的错误是普遍存在的。 一个类似于 Typescript 这样的好的静态类型检查系统,当设置为严格的编译选项时,能够帮助开发者避免这些错误。

execjs执行js出现window对象未定义时的解决_10个常见的JS语言错误总汇相关推荐

  1. execjs执行js出现window对象未定义时的解决_JS逆向 | 助力新手 , 两个JS逆向喂饭教程...

    练手喂饭系列来喽~这周在读者群顺手搞了个小活动,在群里摸鱼的时候有水友说练手系列能不能来点简单的写详细点.所以我这次准备了两个比较简单的练手加密,从分析到复写加密一步一步截图,我就不信这样你还学不会! ...

  2. js中WINDOW对象中的location成员对象

    js中DOM, DOCUMENT, BOM, WINDOW 区别 全栈工程师开发手册 (作者:栾鹏) js系列教程6-BOM操作全解 js中WINDOW对象中的location成员对象 locatio ...

  3. js中WINDOW对象

    全栈工程师开发手册 (作者:栾鹏) js系列教程6-BOM操作全解 js中WINDOW对象 BOM的核心是window,而window对象又具有双重角色,它既是通过js访问浏览器窗口的一个接口,又是一 ...

  4. js中WINDOW对象中的navigator成员对象

    js中DOM, DOCUMENT, BOM, WINDOW 区别 全栈工程师开发手册 (作者:栾鹏) js系列教程6-BOM操作全解 js中WINDOW对象中的navigator成员对象 naviga ...

  5. JS中window对象的opener属性

    JS中window对象的opener属性 JS中window对象的opener属性 window.opener是js中window的一个属性,它返回的是打开当前窗口的窗口对象.如果窗口A弹出一个窗口B ...

  6. js设置html打印不分页,JS 使用 window对象的print方法实现分页打印功能

    最近做项目用到了web在线打印功能,经研究使用了JS自身支持的Window对象的打印方法,此种方法兼容性比较好,在IE和火狐浏览器下使用都没有问题. 1.但是网上好多案例都不支持分页功能,最后通过CS ...

  7. Linux 未定义的引用解决记录

    Linux 未定义的引用解决记录 最近国产化适配,原来代码工程使用QT+VS编译,移植到QT+Linux上,会提示未定义的引用,有几种原因记录如下: 因为QT+VS的母工程是一直更新的,可能后面有新增 ...

  8. C语言函数未定义警告的解决方法

    问题:在C语言中,自定义函数并进行调用,运行后提示"函数未定义"的警告 修改前代码段: #define _CRT_SECURE_NO_WARNINGS 1 #include < ...

  9. VS打开项目出现一堆未定义标识符的解决办法

    问题:VS2015编译项目出现一堆未定义标识符. 解决办法: 工具->选项->文本编辑器->C/C+±>高级->禁用Intellisense改为True->确定

最新文章

  1. 设计模式 之美 -- 原型模式
  2. golang不编译.html,golang之条件编译
  3. 常见问题—打包压缩问题
  4. 主板用什么软件测试呢,什么软件检测主板能用什么cpu
  5. Dapper防sql注入,同一条SQL支持多种数据库
  6. P4292-[WC2010]重建计划【长链剖分,线段树,0/1分数规划】
  7. java中的jpa_在JPA中处理Java的LocalDateTime
  8. C语言入门基础之输入和输出
  9. 高德地图10.0版本正式发布,升级为国民出行平台
  10. django 安装/部署过程
  11. 有幸和一位企业家聊天,他白手起家
  12. 视图引擎smarty 一
  13. MapReduce入门(二)合并小文件
  14. CAB无法连接到远程计算机,当您使用远程桌面连接 (RDC) 7.0 连接不正确地更新远程应用程序应用程序中的组合框项...
  15. 【机器学习】网格搜索、随机搜索和贝叶斯搜索实用教程
  16. 使用DTW算法对上证50成分股走势进行聚类分析
  17. 读取dds文件转为opengl纹理
  18. 随手查_python
  19. 阿里达摩院最新FEDformer,长程时序预测全面超越SOTA | ICML 2022
  20. 有哪些 必装软件或者app

热门文章

  1. 均值滤波 中值滤波 高斯平滑滤波
  2. php 字符型转变为数值,php怎么把字符串转换为数值?
  3. java web登录action_JavaWeb中登陆功能
  4. python能做大型游戏吗_python有做大型游戏的潜力吗?
  5. linux磁盘使用情况脚本,技术|用 Linux Shell 脚本来监控磁盘使用情况并发送邮件...
  6. 【服务器】一次对Close_Wait 状态故障的排查经历
  7. 树形DP+树状数组 HDU 5877 Weak Pair
  8. 使用Java高速实现进度条
  9. Fact Table and Dimension Table In My Opinion
  10. 11月30在spring mvc中使用Validator框架和文件上传