javascript 学习笔记2-函数
2009-09-06 00:00:00 来源:WEB开发网2. 函数
2.1函数直接量
函数直接量是用作表达式,而不是用作语句,它无需指定函数名。与函数写法的比较:
Js代码
function f(){}
var f = function(){}
2.2函数的参数
Js中函数的参数个数和类型是可以很任意的,这就需要用于实质的情况进行相应的判断处理。
可选参数
如果一个函数的参数是可选的,那么如果没有传的话,则是underfined的值,则在函数里用||对它进行赋默认值。这种写法很常用。
用对象来作为函数的参数
当函数的参数较长的用,且常与||一起使用。
参数类型
如果对函数的参数类型有着严格的要求,那么记得一定要在函数内对类型做判断,如果类型不正确,则抛出异常来报告这一事实。如arraycopy()方法,期望的参数是数组,则如果传入的不是数组,那么需要抛出。
再比如我们计算一个数组所有元素的和,如果是在以前,程序里是数组里预先是判定所有的元素都是数值的,然后根据数值的元素的情况去求和。但是,很多时候开发者并不是一个人,可能你要处理的数组是别人开个接口提供给你的,或者你是从数据库去取出数据来构造出数组,这时候你就不能都把元素当作数值来判断,必须对传入的是否是数组,及元素是否是数值进行相应的判断,如果元素有underfined或null时忽略,或元素包含有不是数值时给出提示,或传入的值不是数组时给出提示。具体的代码如下:
Js代码
function ArrayUserCommMgr{}
ArrayUserCommMgr.prototype={
isArray:function(a){
var result = false;
if((a instanceof Array)||(a && typeof a == "object" && "length" in a)){
result = true;
}
return result;
},
getSum:function(a){
if (arrayUserCommMgr.isArray()){
var total = 0;
for(var i = 0; i < a.length; i++) {
var element = a[i];
if (!element) continue; // ignore null and undefined elements
if (typeof element == "number"){
total += element;
}else{
throw new Error("sum(): all array elements must be numbers");
}
}
}else{
throw new Error("sum(): argument must be an array");
}
}
}
编缉推荐阅读以下文章
- javascript 学习笔记3-构造函数、类和原型
- javascript 学习笔记1-对象和数组
Tags:javascript 学习 笔记
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接