前端控制台报错is not defined
背景:
前端控制台报错is not defined的bug,在一个页面渲染的模板里,多个接口都使用了同一个模板,但是接口返回的参数是不同的。有些接口返回了这个参数,另一些接口可能压根就没有这个参数。这个时候进行页面渲染,调用了那个不存在的参数,就报了is not defined的错。
Is not defined是程序上的错,因为没有声明这个变量就使用了它导致的报错。
解决方法:
面对这种情况,不能提前声明、防止重复声明,普通的判空方法会报错,又必须要进行判空。这时候使用typeof XX != ‘undefined’ && XX进行判空处理,第一个是判断是否定义,第二个是判断空值。
那么undefined instanceof XX起效吗? 答案是仍然会报错
那么typeof XX != 'null’起效吗?XX实际上是undefined,而非null,虽然结果为true,但是下一步值判空还是会报错。
原因排查:
其他参考:
https://www.jb51.net/article/240832.htm
↓
Javascript中undefined和not defined有什么区别?
概念上的解释:
undefined是javascript语言中定义的五个原始类中的一个,换句话说,undefined并不是程序报错,而是程序允许的一个值。
not defined是javascript在运行我们的javascript代码时,遇到没有定义就用来运算的变量时爆出来的错误。
在许多的javascript教程中都介绍有javascript变量即使不定义也可以直接拿来使用,但是请注意,这个使用是指可以被赋值,但是不可以被运算
XX = 123; //未定义参数可以被赋值,是可以执行的
YY ? true : false ;//未定义参数不可使用,是is not defined
前端控制台报错is not defined相关推荐
- 生产前端控制台报504的解决思路
生产前端控制台报504的解决思路 详细的错误信息 排查思路 问题复现 修改措施 详细的错误信息 生产环境页面控制台报错某些接口访问504 Access to fetch at 'https://ser ...
- 控制台报错:Browserslist: caniuse-lite is outdated. Please run: npx browserslist@latest --update-db
控制台报错:Browserslist: caniuse-lite is outdated. Please run: npx browserslist@latest --update-db 问题处理 1 ...
- Chrome浏览器控制台报错NET::ERR_SSL_OBSOLETE_VERSION
问题描述:Chrome浏览器控制台报错NET::ERR_SSL_OBSOLETE_VERSION 原因: 服务器使用了TLS1.0 或 TLS1.1 版本,没有使用 TLS1.2 解决方法: 地址栏访 ...
- IE浏览器中访问jsp页面,页面不执行ajax请求,后台控制台报错
问题描述:IE浏览器中访问jsp页面,页面不执行ajax请求,后台控制台报错:java.lang.IllegalArgumentException: Invalid character found i ...
- 控制台报错:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException之解决方法
控制台报错:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException之解决方法 参考文章: (1)控制台报错:java.lang.C ...
- vue 项目在index.html页面直接引入jq库,报错$ is not defined解决方案
近日在vue项目开发中遇到一个问题:vue 项目在index.html页面直接引入jq库,报错$ is not defined解决方案... 首先说一下为什么会出现这个错误,其实项目发布到线上是不会出 ...
- 控制台报错For input string: ““、empty String
问题介绍:这几天做东西总是遇到两个问题:控制台报错For input string: "".empty String 背景:虽然不耽误正常使用swagger,但是看着贼烦,而且随着 ...
- 关于前端接口报错500原因
关于前端接口报错500原因 1.前端与后端入参有出入 2.前端请求头与后端有出入造成, 下面展示一些 内联代码片. Content-Type: application/x-www-form-urlen ...
- 控制台报错:Unknown database ‘xxxxx‘
原文链接: 原文链接:https://www.yujizhu.com/public/18_mysql控制台报错UnknownDatabase/#more 一.问题描述:Unknown database ...
最新文章
- Visual Studio 2010 Ultimate敏捷功能特性(下)
- 成功解决 \tensorflow\…\datasets\mnist.py:290: DataSet.__init__ (from tensorflow.contrib.learn.python.lea
- 【干货】2014Q4手游崩溃数据报告,iphone6第1、三星第2
- 【转】C#中ToString()格式详解
- 同步方法及同步代码块
- 作者:郭琨(1985-),女,博士,中国科学院虚拟经济与数据科学研究中心助理研究员...
- oracle创建自身连接,oracle菜鸟学习之 自连接查询实验
- 案例:回归分析-R实现
- python玩转单片机_Python玩转单片机:从基础到进阶,几款主流的开发板大盘点!...
- 全国计算机等级考试wps视频,全国计算机等级考试一级WPS-Office
- ThinkPHP 3.2.3 验证码 (解决图片不显示的问题)
- 为帮助建筑和设施管理者满足保持社交距离的需求,Bentley 软件公司开放对 LEGION Simulator 和 OpenBuildings Station Designer 的完全访问权限,并在
- 苹果上网本报价_买水果“送”水泥?无良商家昧良心!苹果纸箱灌水泥,商户坦言:“赚箱子钱”|水泥|水果箱|水泥浆|水果...
- 如何让品牌进入元宇宙
- 关于两个鸡蛋判断楼层问题
- python解压7z压缩包_python使用7z解压软件备份文件脚本分享
- 报表工具和BI商业智能的区别,你真的弄清楚了吗?
- 利用Adobe Acrobat 7.0 Professional 自带的导出图片的功能(转)
- Kindle进入日本
- 【转】float与double的范围和精度
热门文章
- SQL Server中的连接查询
- scanf输入参数详解
- 从零实现 USB_SLAVE读卡器 USB_MSC+FATFS+SD/SPI_FLASH/NANDFLASH
- 对电商直播的特点、优势以及前景,你有了解过吗?
- mongoDB's Capped Collections
- 大一学生Web课程设计 美食主题网页制作(HTML+CSS+JavaScript)-咖啡 6页
- 构建可持续的移动应用商店
- Web服务器软件--Servlet入门学习
- Samba服务器配置详解
- 虫师 python_python 多线程就这么简单 - 虫师