日期:2014-05-16  浏览次数:20330 次

谈谈js参数合法性验证的事

有时为了让代码简单点,就忽略了参数的合法验证。说实话,谁都希望传来的参数都是合法的,毕竟检验参数是个很繁琐的事。作为给自己代码使用的程序, 照着自己的约定调用,当然也就不必检验了。如果是开发第三方插件或是类库的话,代码的健壮性就显得尤其重要了。用户在使用你的插件时经常出现莫名其妙的错 误,甚至是一些诡异的现象,就说明插件的异常处理工作没有到位。

? ? ? 作为一个插件,用户可以传入任何类型任何范围的参数,不论他是有意还是无意的。如果是无意的错误,那么必须抛出描述这个错误的异常,让用户知道并能够及时改正,而不是无声无息的直接跳出方法。

? ? ? 例如:


var Calendar = new function ()
{
???? var m_arrMonth =
???????? [ "Jan" , "Feb" , "Mar" , "Apr" , "May" , "Jun" , "Jul" , "Aug" , "Sep" , "Oct" , "Nov" , "Dec" ];
???? this .getMonthName = function (n)
???? {
???????? if (n<0 || n>11)
???????????? throw new Error( "无效的月份" );
???????? return m_arrMonth[n];
????