ECMA-262 定义了下列 7 种错误类型:

  1. TypeError 类型错误
  2. ReferenceError 引用错误
  3. SyntaxError 语法错误
  4. Error 错误
  5. EvalError 全局错误
  6. RangeError 参数错误
  7. URIError  编码错误

1.TypeError类型错误

当传入函数的操作数参数的类型并非操作符或函数所预期的类型时,将抛出一个 TypeError 类型错误。

例如:

/*
*  当尝试调用一个像方法的值时,这个值并不是一个方法
*/
var foo = undefined;
foo();   //Uncaught TypeError: foo is not a function

/*
*  当尝试调用一个对象的方法时,输错了名字,也会触发这个错误提示
*/

var x = document.getElementByID('foo');  //Uncaught TypeError: document.getElementByID is not a function
/*
*  尝试读取 null 或者 undefined ,把它当成了对象
*/
var someVal = null;
console.log(someVal.foo);

2.ReferenceError 引用错误

ReferenceError: Invalid left-hand side in assignment

例如:

/*
*  尝试给不能赋值的东西赋值,引起错误
*  “left-hand side in assignment” 提及了等号左手边的部分,因为左手边包含不能赋值的东西
*/
function doSomething(){};
if(doSomething() = 'somevalue'){};   

3.SyntaxError语法错误

Uncaught SyntaxError: Invalid or unexpected token

原因是数据有特殊字符或缺失部分特殊字符。

[ ] { } ( ) 这几个符号不配对常常导致出错。检查所有的圆括号和方括号是否配对。行号指出的不仅是问题字符。

Unexpected / 跟正则表达式有关。此时行号通常是正确的。

Unexpected ; 对象或者数组字面量里面有个;通常引起这个错误,或者函数调用的参数列表里有个分号。此时的行号通常也是正确的。

4.Error错误

Error 是基类型,其他错误类型都继承自该类型。因此,所有错误类型共享了一组相同的属性(错误对象中的方法全是默认的对象方法) 。 Error 类型的错误很少见,如果有也是浏览器抛出的,这个基类型的主要目的是供开发人员抛出自定义错误。

5.Unexpected token o in JSON at position 1

使用ajax返回结果时,如果结果还是对象,使用JSON.parse(),就会报错:JSON.parse() 方法用于将一个 JSON 字符串转换为对象。

因为结果已经是对象了,不能再使用JSON.parse转成对象了。

JSON.parse() 方法用于将一个 JSON 字符串转换为对象。

var res = JSON.parse(res)

JSON.stringfy() 方法用于将对象、数组转换成字符串

    var json_str1='{"1": 1, "2": 2, "3": {"4": 4, "5": {"6": 6}}}'                //json字符串
    var json_str2='{"name":"zhangsan","age":23,"email":"chentging@aliyun.com"}'   //json字符串
    console.log(typeof(json_str1))  //string
    console.log(typeof(json_str2))  //string

    var objct_json1=JSON.parse(json_str1)   //type object
    var objct_json2=JSON.parse(json_str2)   //type object
    console.log(objct_json1) //{1: 1, 2: 2, 3: {…}}
    console.log(objct_json2) //{name: "zhangsan", age: 23, email: "chentging@aliyun.com"}

javascript错误信息的更多相关文章

  1. 使用 Google Analytics 跟踪 JavaScript 错误

    Google Analytics(谷歌分析)不仅仅是一个流量统计工具,你还可以用它来测量广告活动的有效性,跟踪用户多远到所需的页面流(从点击广告到购物车到结账页面)获取,并基于用户的信息设置浏览器和语 ...

  2. JavaScript基础--小案例:在网页指定位置弹出错误信息(十二)

    案例分析:点击按钮后,在网页上指定区域,提示错误信息!5秒后,错误信息提示自动消失! <script languag="javascript" type="text ...

  3. document.domain - JavaScript的同源策略问题:错误信息:Permission denied to access property 'document'_eecc00_百度空间

    document.domain - JavaScript的同源策略问题:错误信息:Permission denied to access property 'document'_eecc00_百度空间 ...

  4. javascript 打印错误信息 catch err

    使用 console.log(err); 是无法打印出来的.默认只能打印出错误信息.如图 http.interceptors.response.use(response => { return ...

  5. JavaScript错误/异常处理

    JavaScript Try...Catch 语句 介绍:JavaScript中的try...carch语句的作用和C#中的try...catch语句的作用一样, 都是捕获并处理异常. 语法: try ...

  6. Visual Studio 2013中因SignalR的Browser Link引起的Javascript错误一则

    众所周知Visual Studio 2013中有一个由SignalR机制实现的Browser Link功能,意思是开发人员可以同时使用多个浏览器进行调试,当按下IDE中的Browser Link按钮后 ...

  7. javascript错误处理与调试(转)

    JavaScript 在错误处理调试上一直是它的软肋,如果脚本出错,给出的提示经常也让人摸不着头脑. ECMAScript 第 3 版为了解决这个问题引入了 try...catch 和 throw 语 ...

  8. jQuery Validate 表单验证插件----利用jquery.metadata.js将校验规则直接写在class属性里面并定义错误信息的提示

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二. 添加一个另外一个插件jquery.metadata.js 并把校验规则写在控件里面 ...

  9. 遍历ModelState中存储的错误信息

    在服务器端验证中,有时我们添加了一个ModelError,然后还需要将该信息以JS的形式返回到客户端.如: [HttpPost] public ActionResult Index(LogOnMode ...

随机推荐

  1. Python基础(zip方法)

    zip函数: 描述:将zip函数中的两个可迭代对象参数按对应索引值进行匹配组合,得到zip对象.(拉链式函数) zip函数简单应用如下: #-----------------zip函数-------- ...

  2. .NET Core微服务之基于Ocelot实现API网关服务(续)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.负载均衡与请求缓存 1.1 负载均衡 为了验证负载均衡,这里我们配置了两个Consul Client节点,其中ClientServic ...

  3. 【Android Studio安装部署系列】二十五、Android studio使用NDK生成so文件和arr文件

    版权声明:本文为HaiyuKing原创文章,转载请注明出处! 概述 Android Studio使用ndk的简单步骤. NDK环境搭建 下载NDK 下载链接:https://developer.and ...

  4. Web项目也能一键打包Android、IOS

    随着移动互联网的不断发展,智能手机配置的不断提高,越来越多的年轻人基本都在使用手机,如微信.支付宝等等.已基本成为一种习惯,坐电梯也好.吃饭也好.开车也好,基本都捧着一个手机在那按来按去,开车就不建议 ...

  5. Java笔记(day7-day8)

    this关键字: (1)this(当局部变量和成员变量重名时,可以用关键字this区分)    this代表对象,当前对象       this就是所在函数所属对象的引用      简单来说,哪个对象 ...

  6. AIDL使用以及原理分析

    AIDL使用以及IPC原理分析(进程间通信) 概要 为了大家能够更好的理解android的进程间通信原理,以下将会从以下几个方面讲解跨进程通讯信: 1. 必要了解的概念 2. 为什么要使用aidl进程 ...

  7. MyBatis学习---整合SpringMVC

    [目录]

  8. Android Studio教程05-Parcelables和Bundles.md

    Parcelable并且Bundle对象旨在用于跨IPC / Binder事务等进程边界,活动与意图之间以及跨配置更改存储瞬态.本页面提供使用Parcelable和Bundle对象的建议和最佳实践 . ...

  9. 使用GDB调试Android Native 层代码

    --------------步骤:0. adb root0. adb shell0. ps | grep browser1. gdbserver :5039 --attach pid2. adb fo ...

  10. 一起学Android之Layout

    本文简述在Android开发中布局的简单应用,属于基础知识,仅供学习分享使用. 概述 在Android UI开发中,布局类型主要有两种:LinearLayout(线性布局)和RelativeLayou ...