js中函数的表示法以及模拟函数的重载

/****************************函数的多种表示法*******************************/

//"number"表示参数,"alert(number+20);"表示函数体。

var add = new Function("number","alert(number+20);");

add(10);

alert(add.length);//获得函数期望的参数的个数

var add1 = function(num){ alert(num); }

add1(20);

function add2(num,num2){ alert(num+10); }

add2(20);

alert(add2.length);

/********************利用arguments来模拟函数的重载**************************/

function imitation(){

  if(arguments.length == 1)

  { alert(arguments[0]); }

  if(arguments.length == 2)

  { alert(arguments[0]+arguments[1]); }

   if(arguments.length == 3)

  { alert(arguments[0] + arguments[1] + arguments[2]); }

  }

imitation(10);

imitation(10,10);

imitation(10,10,10);

此外,大家应该明白这几点:

1、在javascript中,函数就是对象;

2、在javascript中,没有方法重载的概念。

3、  在javascript中有一个Function对象,那么所有自定义的函数都是Function对象类型的。

  Function对象接收的参数都是字符串类型的,其中最后一个参数就是要执行的函数体,

  而前面的  所有参数是函数真正要接收的参数。

4、在javascript中,每个函数都有一个隐含的对象arguments,表示给函数实际传递的参数。

5、利用arguments在javascript中来模拟函数的重载。

6、每一个函数都有一个length属性,表示该函数期望接收参数的个数。它与arguments刚好相反。

 

posted @ 2012-12-19 20:52  totoro118  阅读(425)  评论(0)    收藏  举报