WEB开发网
开发学院网页设计JavaScript javascript 学习笔记2-函数 阅读

javascript 学习笔记2-函数

 2009-09-06 00:00:00 来源:WEB开发网   
核心提示: 以上代码注意的是:1、用((a instanceof Array)||(a && typeof a == "object" && "length" in a))来判断是否传入的是数组(instanceof Array),或类似数组的对象((a && typ

以上代码注意的是:

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-对象和数组

上一页  1 2 3 4 5 6  下一页

Tags:javascript 学习 笔记

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接