当前位置: 首页 > 图文教程 > 网络编程 > Javascript > “增强js程序代码的健壮性”之我见大量示例代码

Javascript
javascript 支持链式调用的异步调用框架Async.Operation
JavaScript 异步调用框架 (Part 6 - 实例 & 模式)
让JavaScript 轻松支持函数重载 (Part 1 - 设计)
让 JavaScript 轻松支持函数重载 (Part 2 - 实现)
javascript dragable的Move对象
同一个表单 根据要求递交到不同页面的实现方法小结
Extjs ajax同步请求时post方式参数发送方式
实现连缀调用的map方法(prototype)
javascript Array.remove() 数组删除
asp(javascript)全角半角转换代码 dbc2sbc
jquery select(列表)的操作(取值/赋值)
JavaScript 乱码问题
js正确获取元素样式详解
JQuery 小练习(实例代码)
JavaScript 的方法重载效果
JavaScript 变量作用域及闭包
jQuery 解析xml文件
javascript 当前日期加(天、周、月、年)
Javascript+XMLHttpRequest+asp.net无刷新读取数据库数据
上传图片时JS自动显示图片

Javascript 中的 “增强js程序代码的健壮性”之我见大量示例代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 230 ::
收藏到网摘: n/a

在书写和使用js程序的过程中,我们经常会遇到各种各样的错误,对于一个依赖于浏览器的语言,我们很难完全去控制其在任何时刻都正确无误的运行。但是我们仍需做出自己努力取增强我们书写的js程序代码的健壮性和安全性,尽可能减少错误的出现概率。
以下为本人在学习js过程总结的几点关于增强js程序的健壮性的心得,如果您觉得对你有一点的价值,那我就达到自己的目的了,如果你觉得没有什么意义,请您也不必扔砖头,谢谢。
(1)对于必要的参数要判断是否被正确的传入。
代码示例:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

(2)根据传入的参数类型不同做不同处理:
例如当我们要获取一个html元素对象时,要判断传入的是一个id还是一个元素对象。
代码示例:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

(3)为参数设定默认值。
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

(4)检查传入的参数类型。
例如:
我们要求传入的某个参数必须为数字。
示例代码:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

再比如可能我们需要通过参数设定一个宽度或高度值:
示例代码:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

(5)在JS的oo编程中,如果程序要获取当前实例名,则必须对传入实例名做判断。
示例代码:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

(6)在解析xml数据之前首先要检查传入xml数据类型(Dom?xml字符串?文件名)及其结构的合法性。
示例代码:
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

(7)善用try...catch语句,很多时候的错误我们无法屏蔽,使用try...catch可以很容易的将这些错误过滤掉。
比如当我们在使用userData时,很多浏览器不支持,使用try...catch可以简化我们的处理。
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

欢迎大家多评论,提出更好更多的建议。
arg==undefined 改成 arg === undefined 可能会好些
var arg1=arg1||"default arg1";
这样写略有点问题
arg1是null 0 "" false都不行
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]

三个等号表示类型也相等。JS在比较时不会自动转换类型。