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

d1acbdcca9587ccb96d1cb7897c7a01e.png

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 这样的好的静态类型检查系统,当设置为严格的编译选项时,能够帮助开发者避免这些错误。f981cb764dc76c79b51da98a33aa2a55.pngf346112ae54680511b29264a5eb8733f.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/271358.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安卓logcat工具apk_backdoorapk 安卓APK后门捆绑脚本

项目地址https://github.com/dana-at-cp/backdoor-apk项目介绍backdoor-apk是一个bash写的脚本,通过msfvenom生成一个android的payload,然后再使用apktools将payload捆绑到正常的apk文件中。使用方法rootkali:~/Android/evol-lab/BaiduBrowserRat# ./bac…

java8 supplier 接口

Supplier 接口 Supplier 接口是一个供给型的接口,其实,说白了就是一个容器,可以用来存储数据,然后可以供其他方法使用的这么一个接口 *** Supplier接口测试,supplier相当一个容器或者变量,可以存储值*/Tes…

mantis apache mysql_软件测试(软件安装:php+mysql+apache+mantis过程遇到的问题以及解决方法)...

实验环境: Windows 7 64位操作系统浏览器版本: Mozilla Firefox 41.0.0.5378一.PHP的安装① 版本: php-5.4.45-Win32-VC9-x86安装步骤:安装将PHP安装到 D:\PHP下(目录可以自行更改)配置找到PHP目录里的类似 php.ini-dist ,…

html登录界面_使用数据库制作一套注册登录系统

经过了那么多个星期的学习&#xff0c;终于到了使用数据库的阶段了&#xff0c;最基本的也就是制作注册登录与数据库连接。首先要制作一个注册窗口先是html界面<效果如图&#xff1a;&#xff08;样子怎么样不重要&#xff0c;重要的是测试&#xff09;这主要是将form数值发…

java8中Predicate用法

Predicate是个断言式接口其参数是<T,boolean>&#xff0c;也就是给一个参数T&#xff0c;返回boolean类型的结果。跟Function一样&#xff0c;Predicate的具体实现也是根据传入的lambda表达式来决定的。 Testpublic void predicate(){/*** Predicate谓词测试&#xff0c…

计算机网络基础:局域网协议相关知识

1、局域网协议的概念 局域网络中的通信被限制在中等规模的地理范围内&#xff0c;比如一所学校&#xff1b;能够使用具体中等或较高数据速率的物理信道&#xff0c;并且具有较低的误码率&#xff1b;局域网络是专用的&#xff0c; 由单一组织机构所使用。 局域网特点&#xff1…

mysql数据库交叉连接_【数据库】内连接、外连接、交叉连接

基本概念关系模型(表)关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成。关系模型的数据结构非常简单&#xff1a;一张扁平的二维表。元组&#xff1a;二维表中的具有相同数据类型的某一行属性&#xff1a;二维表中的具有相同数据类型的某一列笛卡尔积(Cartesi…

网络资产管理系统_固定资产管理系统的三种网络架构方式

随着互联网技术的发展和信息技术的广泛使用&#xff0c;固定资产管理系统在各行业的应用越来越普及&#xff0c;固定资产管理系统作为当今主流的企业固定资产信息化管理模式&#xff0c;能够对企业固定资产进行有效管理并提升企业的管理水平。对于固定资产管理系统的网络结构方…

计算机网络基础:广域网协议相关知识笔记

广域网常指覆盖范围广、数据传输速率较低&#xff0c;以数据通信为目的的数据通信网。广域网主要是通过专用的或交换式的连接把计算机连接起来。广域网传输协议主要包括&#xff1a;PPP&#xff08;点对点协议&#xff09;、DDN、ISDN&#xff08;综合业务数字网&#xff09;、…

计算机网络基础:TCP/IP协议相关知识笔记​

1、TCP/IP特性逻辑编址&#xff1a;每一块网卡会在出厂时由厂家分配了唯一的永久性物理地址。针对Internet&#xff0c;会为每台连入因特网的计算机分配一个逻辑地址也就是IP地址。路由选择&#xff1a;专门用于定义路由器如何选择网络路径的协议&#xff0c;即IP数据包的路由选…

终于做出来了

1 <!doctype html>2 <html lang"en">3 <head>4 <meta charset"UTF-8">5 <title>精英大赛2号 </title>6 <meta name"Keywords" content"关键字">7 <meta name"Desp…

ashx连接mysql_ASP.net与SQLite数据库通过js和ashx交互(连接和操作)

ASP.net与SQLite数据库通过js和ashx交互(连接和操作)&#xff1a;废话(也是思路)&#xff1a;用的是VS2010&#xff0c;打算做网站前后台。由于不喜欢前台语言里加些与html和css和js的其他内容&#xff0c;想实现前后台语言的分离&#xff0c;与前后台通过js的ajax实现交互&…

计算机网络:九大命令!解决网络故障新思路

一&#xff1a;ping命令ping是个使用频率极高的实用程序&#xff0c;主要用于确定网络的连通性。这对确定网络是否正确连接&#xff0c;以及网络连接的状况十分有用。简单的说&#xff0c;ping就是一个测试程序&#xff0c;如果ping运行正确&#xff0c;大体上就可以排除网络访…

webpack打包后引用cdn的js_JS逆向:Webpack打包后的代码怎么搞?猿人学爬虫比赛第十六题详细题解...

实战地址http://match.yuanrenxue.com/match/16抓包分析地址栏输入 地址&#xff0c;按下F12并回车&#xff0c;发现数据在这里:查看cookie&#xff0c;无加密相关的字段。请求的接口倒是有个m的加密参数&#xff0c;看来这题的主要目的就是 看看m参数怎么进行加密的吧。切换 I…

计算机网络基础:IP基础知识笔记

1、 IP地址概念IP是用来唯一标识主机地址。IP地址 网络地址 主机地址(又称&#xff1a;主机号和网络号组成)例如IP&#xff1a;192.168.100.168 子网掩码 255.255.255.0 对应的网络地址和主机地址如下&#xff1a;192.168.100.168&#xff08;IP地址&#xff09; 192.168.1.…

bs架构的系统能连接mysql吗_HTTP、BS架构

Django 底层原理快捷键方向键方向键本键如果活动选项是选项按钮或文件则为移动焦点&#xff1b;方向键 Win键(简称Win键)使窗口全屏、最小化、靠左半边、靠右半边(部分版本不支持)&#xff1b;方向键Shift键将连续的文字或文件选中方向键(左右)Ctrl键 在英文单词或中文词语间跳…

离散卷积的计算

本文转自&#xff1a; 离散卷积与自相关----------信号处理系列 http://www.cnblogs.com/einyboy/archive/2012/12/30/2839633.html 一、 定义 离散信号f(n),g(n)的定义如下&#xff1a; N-----为信号f(n)的长度 s(n)----为卷积结果序列,长度为len(f(n))len(g(n))-1 以3个元…

计算机网络基础:Internet常用服务介绍​

1、域名服务Internet中的域名地址和IP地址是等价的&#xff0c;它们之间是通过域名服务完成映射的。实际上DNS是一种分布式地址信息数据库系统&#xff0c;服务器中包含整个数据库的某部分信息&#xff0c;并供客户查询。域名系统采用客户端/服务器模式&#xff0c;整个系统由解…