javascript 学习笔记2-函数
2009-09-06 00:00:00 来源:WEB开发网以上代码注意的是:
1、用((a instanceof Array)||
(a && typeof a == "object" && "length" in a))
来判断是否传入的是数组(instanceof Array),或类似数组的对象((a && typeof a == "object" && "length" in a))
2、元素如果是underfined或null,则不管,继续执行函数(continue)。
3、元素如果是数值,则相加。数值用:
typeof element == "number"
4、元素如果含有非数值,则提示出来(throw new Error(“”))。
以下函数对于传入的参数进行求和,它把所有的类型情况都考虑到了,好好理解:
Js代码
function flexisum(){
var total = 0;
for(var i=0;i<arguments.length;i++){
var element = arguments[i];
if(!element) continue;
var n;
switch(typeof element){
case "number":
n = element;
break;
case "object":
if(element instanceof Array){
n = flexisum.apply(this,element);
}else{
n = element.valueOf();
}
break;
case "function":
n = element();
break;
case "String":
n = parseFloat(element);
break;
case "Boolean":
n = NaN;
break;
}
}
if((typeof n == "number")&&(!isNaN(n))){
total += n;
}else{
throw new Exception("无法转换元素"+element);
}
return total;
}
编缉推荐阅读以下文章
- javascript 学习笔记3-构造函数、类和原型
- javascript 学习笔记1-对象和数组
Tags:javascript 学习 笔记
编辑录入:爽爽 [复制链接] [打 印]更多精彩
赞助商链接