js-错误处理与调试,JSON
错误处理与调试:
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的更多相关文章
- js错误: Unexpected number in JSON at position 2792 value里面有双引号怎么解决
源头 出现这个报错提示,大家从错误就可以看的出来,这就是json的错误,一般来说都是json格式出现了错误,本人遇到比较多的情况就是json字符串里面出现了一些会影响json格式的符号,这次出现这个 ...
- JS 错误处理与调试
在程序开发中难免会遇到一些错误,在成千上万的代码中去寻找错误非常明显相当于大海捞针.为此,每种计算机编程语言都要它独特的一套错误处理与调试机制.当然,JavaScript也不例外. 错误发生: 运行代 ...
- js错误处理和调试
1.重点关注函数和可能导致函数执行失败的因素. 2.抛出错误和使用try-catch的时机:一般来说在应用程序架构较低的层次中经常会抛出错误.这个层次并不会影响当前执行的代码. 错误也得不到真正的处理 ...
- 在Visual Studio上开发Node.js程序(2)——远程调试及发布到Azure
[题外话] 上次介绍了VS上开发Node.js的插件Node.js Tools for Visual Studio(NTVS),其提供了非常方便的开发和调试功能,当然很多情况下由于平台限制等原因需要在 ...
- 第一百二十三节,JavaScript错误处理与调试
JavaScript错误处理与调试 学习要点: 1.浏览器错误报告 2.错误处理 3.错误事件 4.错误处理策略 5.调试技术 6.调试工具 JavaScript在错误处理调试上一直是它的软肋,如果脚 ...
- 前端监控系统(二)JS错误日志收集篇
前端监控系统 目前已经上线,欢迎使用! 服务器搭建好了,可以着手开发了. 其实前端需要分析的数据有很多,包括,PVUV, 接口请求统计,耗时统计,JS错误统计,用户使用设备统计,用户地域分布,页面用户 ...
- 搭建前端监控系统(二)JS错误监控篇
===================================================================== 前端性能监控系统: DEMO地址 GIT代码仓库地址 ...
- Webfunny知识分享:JS错误监控
现在的前端开发已不再是刀耕火种的年代了,各种框架.编译工具层出不穷,前端监控系统也不甘其后,遍地开花. 前端正承受着越来越重的职责,前端的业务也变得越来越复杂,此时此刻我们就更需要一套完善的监控系统来 ...
- Node.js在Chrome进行调试
在开发node.js环境时候,调试是一件很疼苦的事情,不过随着时代不断发展,先如今已经有很多种node环境代码调试方式,今天我就笔记一下我使用的方式 node-inspector: node-insp ...
- js中js数组、对象与json之间的转换
在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如:JSON字符串:var str1 = '{ &quo ...
随机推荐
- 【编程题目】查找最小的 k 个元素
5.查找最小的 k 个元素(数组)题目:输入 n 个整数,输出其中最小的 k 个.例如输入 1,2,3,4,5,6,7 和 8 这 8 个数字,则最小的 4 个数字为 1,2,3 和 4. 算法里面学 ...
- autolayout autoresizing
WWDC 2012 Session笔记——202, 228, 232 AutoLayout(自动布局)入门 这是博主的WWDC2012笔记系列中的一篇,完整的笔记列表可以参看这里.如果您是首次来到本站 ...
- 第一次点击Div1显示Div2,再次点击Div1的时候又隐藏Div2
要使用Jquery来实现,记得引用Jquery库哦,代码如下: $(document).ready(function(){ $("#ck1").click(function(){ ...
- 使用autolayout,设置子控件的宽度 与父视图的宽度成比例大小(这样类似可以设置多个按钮平均横屏排列)
橙色是父视图,假设约束如上图. 绿色是子视图.重点宽度比例设置: 1. control-drag 选择 equal width2. 选中上面那个约束 注意 first item 和 second it ...
- Centos7 设置Swap分区
1.使用dd命令创建一个swap交换文件 dd if=/dev/zero of=/home/swap bs=1024 count=1024000 2.制作为swap格式文件: mkswap /home ...
- jsp 过滤器 Filter 配置
.如果要映射过滤应用程序中所有资源: <filter> <filter-name>loggerfilter</filter-name> <filt ...
- JS 获取浏览器窗口大小
JS 获取浏览器窗口大小 <script> // 获取窗口宽度 if (windows.innerWidth) { winWidth = windows.innerWidth; } els ...
- Xcode因为证书问题经常报的那些错
去开始做 iOS开发的时候,因为证书问题 Xcode 经常报这样或那样的错,经过实践,现在看见 Xcode 报错已经心平气和了,经常报的错就那么多,整理一下. 1. 确认下证书是不是开发证书,如果是发 ...
- Ubuntu 14.04 Trusty安装java环境
原文:Install Oracle Java 6, 7, or 8 in Ubuntu 14.04 Trusty 命令如下: sudo add-apt-repository ppa:webupd8te ...
- 【翻译十八】java-并发之锁对象
Lock Objects Synchronized code relies on a simple kind of reentrant lock. This kind of lock is easy ...