js-错误处理与调试,JSON

时间:2022-11-04 19:15:01

错误处理与调试:

1、try-catch

try{

window.someNoneXistentFunction();

}catch(error){

alert(error.message)

}

2、finally子句一经使用,就会执行

try{

return 2;

}catch(error){

return 1;

}finally{

return 0;

}

3、throw操作符:随时抛出自定义错误,遇到throw操作符时,就会立即停止执行,仅当有try-catch语句捕获到被抛出的值时,代码才会继续执行

throw new Error(“zzzzz”);

4、关于原型继承

function CustomError(message){

this.name="CustomError";

this.message=message;

}

CustomError.prototype=new Error();

throw new CustomError("My message");

5、error事件

EventUtil.addHandler(image,"error",function(event){

alert("image not loaded!");

});

image.src="zhang.gif";//指定不存在的文件

6、基本类型的值使用typeof检测,对象的值使用instanceof检测

7、错误日志:

function logError(sev,msg){

var img=new Image();

img.src="log.php?sev="+encodeURIComponent(sev)+"&msg="+

encodeURIComponent(msg);

}

for(var i=0,len=mods.length;i<len;i++){

try{

mods[i].init();

}catch(ex){

logError("nonfatal","Module init failed:" + ex.message);-- nonfatal表示错误的严重程度

}

}

Json:

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

简单值:字符串,数值,布尔值,null,不支持undefined

对象:

数组:

不支持变量,函数以及对象实例

json字符串必须使用双引号

2、对象:

{

"name":"zhang",

"age":29,

"school":{

"name":"zzz",

"location":"zzzzzz"

}

} ----没有分号

3、Json对象有两个方法:

stringify():把js对象序列化为JSON字符串

parse():将JSON字符串解析为js值

var book={

title:"aaaa",

authors:["aaaa"],

edition:3,

year:2011

};

var jsonText=JSON.stringify(book);

// jsonText是不包含任何空格字符或缩进

var bookCopy=JSON.parse(jsonText);

4、stringify()还可以接受另外一个参数:

第一个;

var jsonText=JSON.stringify(book,[“title”,”edition”]);

第二个:

函数,函数接收两个参数,属性名以及属性值

5、字符串缩进:--- stringify()的另一个参数

var jsonText=JSON.stringify(book,null,4);

最大缩进空格为10

不仅仅可以传空格:

var jsonText=JSON.stringify(book,null,“--”);

5、toJSON()方法:

var book={

title:"aaaa",

authors:["aaaa"],

edition:3,

year:2011

toJSON:function(){

return this.title;

}

};

var jsonText=JSON.stringify(book);

6、解析选项:

JSON.parse()方法也可以接收另一个参数,是一个函数(还原函数):

如果还原函数返回的是一个undefined,则表示要从结果中删除相应的键,如果返回其它值,则将该值插入到结果中

var book={

title:"aaaa",

authors:["aaaa"],

edition:3,

year:2011

releaseDate:new Date(2011,11,1)

};

var jsonText=JSON.stringify(book);

var bookCopy=JSON.parse(jsonText,function(key,value){

if(key=="releaseDate"){

return new Date(value);

}else{

return value;

}

});

alert(bookCopy.releaseDate.getFullYear());

js-错误处理与调试,JSON的更多相关文章

  1. js错误&colon; Unexpected number in JSON at position 2792 value里面有双引号怎么解决

    源头  出现这个报错提示,大家从错误就可以看的出来,这就是json的错误,一般来说都是json格式出现了错误,本人遇到比较多的情况就是json字符串里面出现了一些会影响json格式的符号,这次出现这个 ...

  2. JS 错误处理与调试

    在程序开发中难免会遇到一些错误,在成千上万的代码中去寻找错误非常明显相当于大海捞针.为此,每种计算机编程语言都要它独特的一套错误处理与调试机制.当然,JavaScript也不例外. 错误发生: 运行代 ...

  3. js错误处理和调试

    1.重点关注函数和可能导致函数执行失败的因素. 2.抛出错误和使用try-catch的时机:一般来说在应用程序架构较低的层次中经常会抛出错误.这个层次并不会影响当前执行的代码. 错误也得不到真正的处理 ...

  4. 在Visual Studio上开发Node&period;js程序&lpar;2&rpar;——远程调试及发布到Azure

    [题外话] 上次介绍了VS上开发Node.js的插件Node.js Tools for Visual Studio(NTVS),其提供了非常方便的开发和调试功能,当然很多情况下由于平台限制等原因需要在 ...

  5. 第一百二十三节,JavaScript错误处理与调试

    JavaScript错误处理与调试 学习要点: 1.浏览器错误报告 2.错误处理 3.错误事件 4.错误处理策略 5.调试技术 6.调试工具 JavaScript在错误处理调试上一直是它的软肋,如果脚 ...

  6. 前端监控系统(二)JS错误日志收集篇

    前端监控系统 目前已经上线,欢迎使用! 服务器搭建好了,可以着手开发了. 其实前端需要分析的数据有很多,包括,PVUV, 接口请求统计,耗时统计,JS错误统计,用户使用设备统计,用户地域分布,页面用户 ...

  7. 搭建前端监控系统(二)JS错误监控篇

    ===================================================================== 前端性能监控系统: DEMO地址    GIT代码仓库地址 ...

  8. Webfunny知识分享:JS错误监控

    现在的前端开发已不再是刀耕火种的年代了,各种框架.编译工具层出不穷,前端监控系统也不甘其后,遍地开花. 前端正承受着越来越重的职责,前端的业务也变得越来越复杂,此时此刻我们就更需要一套完善的监控系统来 ...

  9. Node&period;js在Chrome进行调试

    在开发node.js环境时候,调试是一件很疼苦的事情,不过随着时代不断发展,先如今已经有很多种node环境代码调试方式,今天我就笔记一下我使用的方式 node-inspector: node-insp ...

  10. js中js数组、对象与json之间的转换

    在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如:JSON字符串:var str1 = '{ &quo ...

随机推荐

  1. DevExpress--navBarControl控件

    一.在工具箱Navigation&Layout下找到控件navBarControl,拽到相应的位置. 二.点击控件右上角的小三角,对其进行设计:如下图 点Add group可迅速添加组列表,点 ...

  2. win7 telnet

    一.telnet连接 1.linux linux下可以通过net stat 查看22端口来确认端口是否开放. 然后在cmd中可通过telnet 10.0.200.151 22来连接. 2.win7 w ...

  3. sort&lpar;&rpar; 方法用于对数组的元素进行排序

    语法 arrayObject.sort(sortby) 参数 描述 sortby 可选.规定排序顺序.必须是函数. 返回值 对数组的引用.请注意,数组在原数组上进行排序,不生成副本. 说明 如果调用该 ...

  4. Share SDK分享

    import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os. ...

  5. JavaScript中定时器的暂停和继续

    对于JavaScript的定时器来说没有严格意义上的暂停和重启,只有清除停止,但是可以通过一些‘障眼法’实现 allChild[index].onclick = function(){//当点击目标且 ...

  6. Minfilter过滤框架

    Minfilter过滤框架 优势 与传统的Sfilter过滤驱动相比,有这样几个优势 1. Minfilter加载顺序更易控制,Sfilter加载是随意的,也就是说它在IO设备栈上的顺序是根据其创建的 ...

  7. 如何加速GitHub访问速度

    http://tool.chinaz.com/网站中填入assets-cdn.github.com选取响应最小的ip,将ip.域名填入到C:\Windows\System32\drivers\etc下 ...

  8. 洛谷P2286 &lbrack;HNOI2004&rsqb;宠物收养场

    题目描述 凡凡开了一间宠物收养场.收养场提供两种服务:收养被主人遗弃的宠物和让新的主人领养这些宠物. 每个领养者都希望领养到自己满意的宠物,凡凡根据领养者的要求通过他自己发明的一个特殊的公式,得出该领 ...

  9. windows server 2008 远程连接

    1.win2008如何开启远程桌面 原文:https://zhidao.baidu.com/question/745350052927250652.html 正常的开启操作: 在桌面上右点" ...

  10. Ubuntu 18&period;04开启TCP网络协议BBR加速的方法(Google BBR 拥塞控制算法&rpar;

    TCP BBR 是Google给出的一个改良版的tcp网络协议,相当于在已有TCP协议的基础上打了个补丁的意思,这个改良版TCP协议对拥塞控制有很好的支持,对于网络较差的环境有不错的应用场景,当然这里 ...