首页 > Web开发 > 详细

js高级程序设计 笔记 --- 错误处理、json和ajax

时间:2019-01-18 18:00:40      阅读:167      评论:0      收藏:0      [点我收藏+]

1,错误处理  

  1,try-catch语句

    try{可能导致错误的代码} catch(error) {在错误发生时该怎么处理}

    error.message是所有浏览器都支持的属性。

    finally语句是不论代码如何都会执行的。

  2,错误类型

    Error是基类型,其他错误都继承自该类型。

    EvalError:使用eval函数发生异常时被抛出

    RangeError: 数值超出相应范围时触发。

    ReferenceError: 找不到对象,变量不存在

    SyntaxError: 语法错误

    TypeError:类型错误。 变量中保存意外的类型,或者访问不存在的方法

    抛出错误:

      throw操作符。用于抛出自定义错误。

    错误事件

  3,处理错误的策略

    1,常见的错误类型

      类型转换错误、数据类型错误、通信错误

  4,区分致命错误和非致命错误

  5,把错误记录到服务器

 

 

2,JSON

  json是一种数据格式。

  1,语法

    json的语法可以表示以下三种类型的值

      简单值: 使用与js相同的语法,可以在json中表示字符串,数值,布尔值和null,但json不支持undefined; json的字符串必须要使用双引号。

      对象:对象是一种复杂数据类型。表示的是一组无序的键值对,每个键值对中的值可以是简单值,也可以是复杂数据类型的值。与js的对象字面量相比,json有两个地方不一样,首先没有声明变量,其次,没用结尾的分号。还有对象的属性必须加双引号。

      数组:数组也是一种复杂数据类型。表示一组有序的值的列表。可以通过索引来访问,数组的值也可以是任意类型。

  2,解析与序列化

    全局JSON对象有两个方法: 

 

    parse() :  将json转为js对象。 也可以接收另一个参数,该参数为一个函数。将在每个键值对上调用。

 

    stringify() : 将js对象序列化为JSON对象 ;   除了要接收需要序列化的js对象外,还可以接收两个参数: 第二个参数 如果是一个数组,那么结果中将只会包含数组中列出的属性。如果是一个函数,键名和属性值。根据键名来处理属性值。如果函数返回的是undefined,那么相应的属性会被忽略。  第三个参数用于控制结果中的缩进和空白符。

    可以为任何对象添加toJSON()方法,那么将会返回对应的值

    序列化对象的顺序如下:

      1,如果存在toJSON()方法而且能通过它取得有效的值,则调用该方法,否则返回对象本身

      2,如果提供了第二个参数,则应用这个过滤器,传入函数过滤器的值是第一步返回的值

      3,对第二步返回的每个值进行相应的序列化。

      4,如果提供了第三个参数,执行相应的格式化。

 

小结: JSON是一个轻量级的数据格式。js使用js语法的子集表示对象、数组、字符串、数值、布尔值和null。 es5定义了一个原生的json对象,可以用来将js对象转化为JSON字符串或者将JSON解析为js对象。 JSON.stringify和JSON.parse也可以接受一些选项,通过他们改变过滤方式。

  

3,ajax

  页面的局部刷新技术。

  1,XMLHttpRequest对象

    new XMLHttpRequest() 

    使用XHR对象的时候,要调用的第一个方法时open(),它接受3个参数,要发送请求的类型(get,post等),请求的URL和表示是否异步发送的布尔值。

    要发送特定的请求,必须调用send()方法; send方法接收一个参数,即作为请求主体发送的数据。如果不需要,则必须传入null。调用send后,请求就会被分派到服务器。

    在收到相应后,响应的数据会自动填充XHR的属性。相关的属性有以下:

    responseText:作为响应主体被返回的文本

    responseXML:如果响应的类型为text/xml或application/xml,这个属性将保存着响应数据的XML DOM文档。

    status: 响应的HTTP状态。

    statusText:HTTP状态的说明

    在接收到响应后,第一步是检查status属性。以确定响应成功返回。状态代码为200 或者为304时,可以意味着响应为有效的。

    XHR对象的readyState属性表示请求/响应过程的当前活动阶段。有以下取值:

    0:未初始化,尚未调用open方法

    1:启动。已经调用open,尚未调用send

    2:发送。调用send,未收到响应

    3:接收。接收部分响应数据

    4:完成。接收到全部数据,可以使用

    可以监听readystatechange事件,在事件内部判断响应状态和活动阶段。

    

    HTTP头部信息

    每个HTTP请求和响应都会带有相应的头部信息。默认的头部信息如下:

    Accept:浏览器能处理的内容类型

    

  

  

    

js高级程序设计 笔记 --- 错误处理、json和ajax

原文:https://www.cnblogs.com/wjyz/p/10288901.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!