JavaScript 调试常见报错以及原因

测试环境 chrome 版本 66.0.3359.170(正式版本) (64 位)

TypeError 类型错误

不是操作符所接受的数据类型。

  //-------- 把不是函数的值当做函数调用
var foo = undefined;
foo();
// Uncaught TypeError: foo is not a function
// foo 不是一个函数 //-------- 调用对象中不存在的函数, 其实就是 undefined
var x = document.getElementByID('foo');
// Uncaught TypeError: document.getElementByID is not a function
// 调用的值不是一个函数 //-------- 调用未声明的方法
lala();
// Uncaught ReferenceError: lala is not defined
// lala 没有定义 //-------- 把 null 或 undefined 当成对象
var someVal = null;
someVal.foo;
// Uncaught TypeError: Cannot read property 'foo' of null
// 无法读取 null 的 foo 属性 var someVal = undefined;
someVal.foo;
// Uncaught TypeError: Cannot read property 'foo' of undefined
// 无法读取 undefined 的 foo 属性

ReferenceError 引用错误

尝试给不能赋值的变量进行赋值。

  //-------- 尝试给不能赋值的变量进行赋值。
function doSomething(){};
doSomething() = 'somevalue'
// Uncaught ReferenceError: Invalid left-hand side in assignment
// 赋值符的左侧无效

RangeError 范围错误

设定的值在该数据类型的范围内。如数字的范围、数组长度的范围。

  [].length = -1 // 数据的 length 不能小于 0
[].length = undefined //
// Uncaught RangeError: Invalid array length
// 无效的数组长度

SyntaxError 语法错误

无法解析的代码。

  //-------- 拼接字符串,但是没有使用 + 号
'ni' 'hao'
// Uncaught SyntaxError: Unexpected string
// 意料之外的字符串 //-------- 没有使用成对的引号
var str = 'ni hao
// Uncaught SyntaxError: Invalid or unexpected toke
// 无效或意料之外的标记 //-------- 无效的正则
var reg = /[/
// Uncaught SyntaxError: Invalid regular expression: missing /

JavaScript 调试常见报错以及原因的更多相关文章

  1. JavaScript 调试常见报错以及修复方法

    (看到一篇调试JS很有用的文章,收藏一下) JavaScript 调试是一场噩梦:首先给出的错误非常难以理解,其次给出的行号不总有帮助.有个查找错误含义,及修复措施的列表,是不是很有用? 以下是奇怪的 ...

  2. WebService CXF调试常见报错及解决方案

    1.CXF java.lang.RuntimeException: Cannot create a secure XMLInputFactory 解决方案:从apache-cxf/lib下寻找Wood ...

  3. java常见报错及解决

    Java常见报错信息: Java 常见异常种类 Java Exception: 1.Error  2.Runtime Exception 运行时异常 3.Exception  4.throw 用户自定 ...

  4. web报表工具FineReport使用中遇到的常见报错及解决办法(二)

    web报表工具FineReport使用中遇到的常见报错及解决办法(二) 这里写点抛砖引玉,希望大家能把自己整理的问题及解决方法晾出来,Mark一下,利人利己. 出现问题先搜一下文档上有没有,再看看度娘 ...

  5. HDFS集群常见报错汇总

    HDFS集群常见报错汇总 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.DataXceiver error processing WRITE_BLOCK operation 报 ...

  6. Nginx 常见报错

    Nginx 常见报错 启动报错:[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use) 原因:这个是nginx重启时经常遇到 ...

  7. C语言开发中常见报错的解决方案

    C语言开发中常见报错的解决方案 整理来源于网络,侵权请通知删除.*禁止转载 ---- fatal error C1003: error count exceeds number; stopping c ...

  8. Git常用命令及常见报错:You have not concluded your merge (MERGE_HEAD exists)、清理无效的远程追踪分支

    一.常用命令 切换到master分支:git checkout master 查看已有本地及远程分支:git branch -a(先git pull拉下全部数据) 查看远程分支:git branch ...

  9. rsync 守护进程模式搭建 与常见报错

    守护进程模式搭建 1.环境准备 2.安装rsync(做备份的服务器都安装) [root@backup ~]# yum install -y rsync 3.服务端配置 [root@backup ~]# ...

随机推荐

  1. SQL Server 配置管理器

  2. JVM探秘4---垃圾收集器介绍

    Java虚拟机有很多垃圾收集器 下面先来了解HotSpot虚拟机中的7种垃圾收集器:Serial.ParNew.Parallel Scavenge.Serial Old.Parallel Old.CM ...

  3. Git在Eclipse中的使用

    一.把远程仓库的项目clone到eclipse里面: 最新版的Eclipse上已经集成了Git插件.所以在Eclipse中可以很方便的使用Git的功能. 在使用Git功能之前,需要先进行下简单的设置. ...

  4. Python智能检测编码并转码

    #安装包工具 $pip3 install chardet #直接打开文件,中文显示乱码 >>> import chardet >>> f = open('test. ...

  5. 爬虫--cheerio

    const cheerio = require('cheerio') const $ = cheerio.load('<h2 class="title">Hello w ...

  6. node.js读取到的文件列表

    var fs = require('fs'); var path = require('path'); //解析需要遍历的文件夹,我这以E盘根目录为例 var filePath = path.reso ...

  7. 不懂RPC实现原理怎能实现架构梦

    RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议.RPC协议假定某些传输协议的存在 ...

  8. ConvertUtils.register(new DateConverter(null), java.util.Date.class)使用

    在我们使用BeanUtils.copyProperties(dest,orig)将一个类的属性赋值给另一个类的时候 如果类中存在 Date类型的转换可能会报"no value specifi ...

  9. [Android相机]通过手机摄像头识别环境亮度(转)

    源: [Android相机]通过手机摄像头识别环境亮度 iOS利用摄像头获取环境光感参数

  10. EL和jstl(概念和使用方法)

    概念: 1 .  JSP 标签 是用来替换java代码的技术,容器遇到标签后会将其转换成java代码,jsp标签类似于开始标记.属性.结束标记.标签体. EL表达式是一套简单的运算规则,用于给jsp标 ...