web前端培训教程:错误事件以及错误处理策略_第1页
web前端培训教程:错误事件以及错误处理策略_第2页
web前端培训教程:错误事件以及错误处理策略_第3页
web前端培训教程:错误事件以及错误处理策略_第4页
web前端培训教程:错误事件以及错误处理策略_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、web前端培训教程:错误事件以及错误处理策略这个页面打不开了 您可以賞氏:砖肓 整快豚您也可以腆敗帧冲咄貯血总:(g膿代殆404 )error事件是当某个d0m对象产生错误的时候触发。addevent(window, 'error1, function () alert。发生错误啦! j);new 10; 写在后面<img src=n123.jpgn onerror二”alert(图像加载错误! y />错误处理策略由于javascript错误都可能导致网页无法使用,所以何时搞清楚及为什么发生错误至 关重要。这样,我们才能对此采取正确的应对方案。常见的错误类型因为javas

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

3、x = 10; /何以试试0if (box) /10自动转换为布尔值为truealert(box);ps :因为0会自动转换为false,其实0也是数值,也是有值的,不应该认为是false , 所以我们要判断box是不是数值再去打e卩。var box = 0;if (typeof box = 'number') /判断 box 是 number 类型即可alert(box);ps : typeof box = 'number*这里也是用的相等,没有用全等呀?原因是typeofbox本身返回的就是类型的字符串,右边也是字符串,那没必要验证类型,所以相等就够了。由于 jav

4、ascript数据类型错误 是弱类型语言,在使用变量和传递参数之前,不会对它们进行比较来 确保数据类型的正确。所以,这样开发人员必须需要靠自己去检测。function getquerystring(url) /传递了非字符串,导致错误var pos = urlindexofc?');return pos;alert(getquerystri ng(l);ps :为了避免这种错误的出现,我们应该使用类型比较。 function getquerystring(url) if (typeof url = 'string') 判断了指定类型,就不会出错了 var pos = u

5、rl.indexof(?);return pos;alert(getquerystri ng );对于传递参数除了限制数字、字符串之外,我们对数组也要进行限制。function sortarray(arr) if (arr) 只判断布尔值远远不够alert(arr.sort();var box = 3,5,1;sortarray(box);ps :只用if (air序蜥布尔值,那么数值、字符串、对象等都会自动转换为true ,而这 些类型调用sort()方法比如会产生错误,这里提一下:空数组会自动转换为true而非 false。function sortarray(arr) if (typeo

6、f arr.sort = 'function') /判断传递过来 arr 是否有 sort 方法alert(arr.sort(); 就算这个绕过去了alert(arr.reverse(); 这个就又绕不过去了var box = 创建一个自定义对象,添加sort方法sort: function () ;sortarray(box);ps :这断代码本意是判断arr是否有sort方法,因为只有数组有sort方法,从而 判断arr是数组。但忘记了,自定义对象添加了 sort方法就可以绕过这个判断,且arr还 不是数组。function sortarray(arr) if (arr instanceof array) /使用 instanceof 判断是 array 最为合适alert(arr.sort();var box = 3,5,1;sortarray(box);通信错误在使用url进行参数传递时,经常会传递一些中文名的参数或url地址,在后台处 理时会发生转换乱码或错误,因为不同的浏览器对传递的参数解释是不同的,所以有必要使 用编码进行统一传递。比如:?user=李炎恢&age=100var u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论