背景:

前端控制台报错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相关推荐

  1. 生产前端控制台报504的解决思路

    生产前端控制台报504的解决思路 详细的错误信息 排查思路 问题复现 修改措施 详细的错误信息 生产环境页面控制台报错某些接口访问504 Access to fetch at 'https://ser ...

  2. 控制台报错: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 ...

  3. Chrome浏览器控制台报错NET::ERR_SSL_OBSOLETE_VERSION

    问题描述:Chrome浏览器控制台报错NET::ERR_SSL_OBSOLETE_VERSION 原因: 服务器使用了TLS1.0 或 TLS1.1 版本,没有使用 TLS1.2 解决方法: 地址栏访 ...

  4. IE浏览器中访问jsp页面,页面不执行ajax请求,后台控制台报错

    问题描述:IE浏览器中访问jsp页面,页面不执行ajax请求,后台控制台报错:java.lang.IllegalArgumentException: Invalid character found i ...

  5. 控制台报错:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException之解决方法

    控制台报错:java.lang.ClassNotFoundException: javax.xml.bind.JAXBException之解决方法 参考文章: (1)控制台报错:java.lang.C ...

  6. vue 项目在index.html页面直接引入jq库,报错$ is not defined解决方案

    近日在vue项目开发中遇到一个问题:vue 项目在index.html页面直接引入jq库,报错$ is not defined解决方案... 首先说一下为什么会出现这个错误,其实项目发布到线上是不会出 ...

  7. 控制台报错For input string: ““、empty String

    问题介绍:这几天做东西总是遇到两个问题:控制台报错For input string: "".empty String 背景:虽然不耽误正常使用swagger,但是看着贼烦,而且随着 ...

  8. 关于前端接口报错500原因

    关于前端接口报错500原因 1.前端与后端入参有出入 2.前端请求头与后端有出入造成, 下面展示一些 内联代码片. Content-Type: application/x-www-form-urlen ...

  9. 控制台报错:Unknown database ‘xxxxx‘

    原文链接: 原文链接:https://www.yujizhu.com/public/18_mysql控制台报错UnknownDatabase/#more 一.问题描述:Unknown database ...

最新文章

  1. Visual Studio 2010 Ultimate敏捷功能特性(下)
  2. 成功解决 \tensorflow\…\datasets\mnist.py:290: DataSet.__init__ (from tensorflow.contrib.learn.python.lea
  3. 【干货】2014Q4手游崩溃数据报告,iphone6第1、三星第2
  4. 【转】C#中ToString()格式详解
  5. 同步方法及同步代码块
  6. 作者:郭琨(1985-),女,博士,中国科学院虚拟经济与数据科学研究中心助理研究员...
  7. oracle创建自身连接,oracle菜鸟学习之 自连接查询实验
  8. 案例:回归分析-R实现
  9. python玩转单片机_Python玩转单片机:从基础到进阶,几款主流的开发板大盘点!...
  10. 全国计算机等级考试wps视频,全国计算机等级考试一级WPS-Office
  11. ThinkPHP 3.2.3 验证码 (解决图片不显示的问题)
  12. 为帮助建筑和设施管理者满足保持社交距离的需求,Bentley 软件公司开放对 LEGION Simulator 和 OpenBuildings Station Designer 的完全访问权限,并在
  13. 苹果上网本报价_买水果“送”水泥?无良商家昧良心!苹果纸箱灌水泥,商户坦言:“赚箱子钱”|水泥|水果箱|水泥浆|水果...
  14. 如何让品牌进入元宇宙
  15. 关于两个鸡蛋判断楼层问题
  16. python解压7z压缩包_python使用7z解压软件备份文件脚本分享
  17. 报表工具和BI商业智能的区别,你真的弄清楚了吗?
  18. 利用Adobe Acrobat 7.0 Professional 自带的导出图片的功能(转)
  19. Kindle进入日本
  20. 【转】float与double的范围和精度

热门文章

  1. SQL Server中的连接查询
  2. scanf输入参数详解
  3. 从零实现 USB_SLAVE读卡器 USB_MSC+FATFS+SD/SPI_FLASH/NANDFLASH
  4. 对电商直播的特点、优势以及前景,你有了解过吗?
  5. mongoDB's Capped Collections
  6. 大一学生Web课程设计 美食主题网页制作(HTML+CSS+JavaScript)-咖啡 6页
  7. 构建可持续的移动应用商店
  8. Web服务器软件--Servlet入门学习
  9. Samba服务器配置详解
  10. 虫师 python_python 多线程就这么简单 - 虫师