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

javascript 学习笔记2-函数

 2009-09-06 00:00:00 来源:WEB开发网   
核心提示:2. 函数 2.1函数直接量函数直接量是用作表达式,而不是用作语句,javascript 学习笔记2-函数,它无需指定函数名,与函数写法的比较:Js代码functionf(){}varf=function(){}2.2函数的参数Js中函数的参数个数和类型是可以很任意的,如果元素有underfined或null时忽略,或

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

1 2 3 4 5 6  下一页

Tags:javascript 学习 笔记

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