web前端培训教程:错误事件以及错误处理策略

web前端培训教程:错误事件以及错误处理策略

ID:46613691

大小:88.50 KB

页数:6页

时间:2019-11-26

web前端培训教程:错误事件以及错误处理策略_第1页
web前端培训教程:错误事件以及错误处理策略_第2页
web前端培训教程:错误事件以及错误处理策略_第3页
web前端培训教程:错误事件以及错误处理策略_第4页
web前端培训教程:错误事件以及错误处理策略_第5页
资源描述:

《web前端培训教程:错误事件以及错误处理策略》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、web前端培训教程:错误事件以及错误处理策略这个页面打不开了••••您可以賞氏:砖肓整⑺快豚•您也可以腆敗帧冲咄貯血总:(g膿代殆404)error事件是当某个D0M对象产生错误的时候触发。addEvent(window,'error1,function(){alert。发生错误啦!J});new10;〃写在后面错误处理策略由于JavaScript错误都可能导致网页无法使用,所以何时搞清楚及为什么发生错误至关重要。这样,我们才能对此采取正确的应对方案。常见的错误类型因为JavaScript是松散弱类

2、型语言,很多错误的产生是在运行期间的。一般来说,需要关注3种错误:L类型转换错误;2.数据类型错误;3.通信错误,这三种错误一般会在特定的模式下或者没有对值进行充分检查的情况下发生。类型转换错误在一些判断比较的时候,比如数组比较,有相等和全等两种:alert(l=='1');//truealert(l==='I');//falsealert(l==true);//truealert(l===true);//falsePS:由于这个特性,我们建议在这种会类型转换的判断,强烈推荐使用全等,以保证判断的正确性。varbox=10;/何以试试0if(box){//10自动转换为布尔值为tru

3、ealert(box);}PS:因为0会自动转换为false,其实0也是数值,也是有值的,不应该认为是false,所以我们要判断box是不是数值再去打E卩。varbox=0;if(typeofbox=='number'){//判断box是number类型即可alert(box);PS:typeofbox=='number*这里也是用的相等,没有用全等呀?原因是typeofbox本身返回的就是类型的字符串,右边也是字符串,那没必要验证类型,所以相等就够了。由于JavaScript数据类型错误是弱类型语言,在使用变量和传递参数之前,不会对它们进行比较来确保数据类型的正确。所以,这样开发人

4、员必须需要靠自己去检测。functiongetQueryString(url){//传递了非字符串,导致错误varpos=urLindexOfC?');returnpos;}alert(getQueryString(l));PS:为了避免这种错误的出现,我们应该使用类型比较。functiongetQueryString(url){if(typeofurl=='string'){〃判断了指定类型,就不会出错了varpos=url.indexOf(?);returnpos;}alert(getQueryString⑴);对于传递参数除了限制数字、字符串之外,我们对数组也要进行限制。fun

5、ctionsortArray(arr){if(arr){〃只判断布尔值远远不够alert(arr.sort());}}varbox=[3,5,1];sortArray(box);PS:只用if(air序蜥布尔值,那么数值、字符串、对象等都会自动转换为true,而这些类型调用sort()方法比如会产生错误,这里提一下:空数组会自动转换为true而非false。functionsortArray(arr){if(typeofarr.sort=='function'){//判断传递过来arr是否有sort方法alert(arr.sort());〃就算这个绕过去了alert(arr.reve

6、rse());〃这个就又绕不过去了}varbox={〃创建一个自定义对象,添加sort方法sort:function(){}};sortArray(box);PS:这断代码本意是判断arr是否有sort方法,因为只有数组有sort方法,从而判断arr是数组。但忘记了,自定义对象添加了sort方法就可以绕过这个判断,且arr还不是数组。functionsortArray(arr){if(arrinstanceofArray){//使用instanceof判断是Array最为合适alert(arr.sort());}}varbox=[3,5,1];sortArray(box);通信错误在

7、使用url进行参数传递时,经常会传递一些中文名的参数或URL地址,在后台处理时会发生转换乱码或错误,因为不同的浏览器对传递的参数解释是不同的,所以有必要使用编码进行统一传递。比如:?user=李炎恢&age=100varurl='?user='+encodellRIComponent(,李炎恢')+'&age=100://编码PS:在AJAX章节中我们会继续探讨通信错误和编码问题。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。