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. Linux基础命令---设置程序优先级nice

    nice nice指令可以设置程序运行的优先级,优先级会影响到程序的调度时间.nice的范围是-20~19,其中-20级别最高,19级别最低. 此命令的适用范围:RedHat.RHEL.Ubuntu. ...

  2. 吴恩达讲了干货满满的一节全新AI课,全程手写板书充满诚意非常干货

    吴恩达讲了干货满满的一节全新AI课,全程手写板书充满诚意非常干货 摘要: 目前,AI技术做出的经济贡献几乎都来自监督学习,也就是学习从A到B,从输入到输出的映射.现在,监督学习.迁移学习.非监督学习. ...

  3. VS2017调试闪退之Chrome

    巨硬build后发了15.7.1满载期待的升级了..结果NM泪奔................... 为啥 泪奔? 使用Chrome 调试闪退,MMP ,一想肯定是VS的锅咯,各种抓头发.. 试试看 ...

  4. makefile 双冒号规则

    双冒号规则就是使用“::”代替普通规则的“:”得到的规则.当同一个文件作为多个规则的目标时,双冒号规则的处理和普通规则的处理过程完全不同(双冒号规则允许在多个规则中为同一个目标指定不同的重建目标的命令 ...

  5. P2P原理及UDP穿透简单说明(转)

    源: P2P原理及UDP穿透简单说明

  6. pyqt5 界面切换

    QStackedWidget 只需要关联好对应的信号和槽,调用setCurrentIndex函数,想切哪个界面就切到哪个界面

  7. php 阳历转农历优化版

    网上转换方法很多例子错误. 测试例子1:输入公历 2010年2月1号测试,对比百度万年历 农历应该为己丑年(2009)腊月(12月)十八. 测试例子2:输入农历1990.11.初十,丑时,公历应该为1 ...

  8. jsonp获取股票信息

    源码: <script src="http://hq.sinajs.cn/list=sh600050" charset="gb2312"></ ...

  9. spring boot @Scheduled未生效原因以及相关坑、及相对其他定时任务架构的优势

    在spring boot中,支持多种定时执行模式(cron, fixRate, fixDelay),在Application或者其他Autoconfig上增加@EnableScheduling注解开启 ...

  10. 20145315何佳蕾《网络对抗》Web安全基础

    20145315何佳蕾<网络对抗>Web安全基础 1.实验后回答问题 (1)SQL注入攻击原理,如何防御 SQL Injection:就是通过把SQL命令插入到Web表单递交或输入域名或页 ...