麦壳社区

函数

2016-11-02  本文已影响9人  张Boy

js的函数可以大致理解为c/c++/java里面的函数,但要比他们活跃的多,他是我们模块化编程的基础,也是下面js进阶的关键,这也是为什么把它单拿出来的写的原因。

function add(a,b){    //定义一个add函数,他需要两个参数a,b;
      console.log(a+b)  //该函数的操作结果是打印a和b的和;
}
add(1,2);  //执行函数,实参为1,2;
var add = function(a,b){          
      console.log(a+b); 
}
add(1,2);
var add = new Function('a','b','console.log(a+b)');

说完了如何定义函数,就要探讨一下函数的内部细节。。。

function add(a,b){
     return a+b;
}
add(10,20);
function add(){
    //console.log(arguments);  //输出[object arguments]
     var a = arguments[0];
    var b = arguments[1];
    return a+b;
}
add(10,20);
function add(){
    if(arguments.length == 1){
       return arguments[0]; 
   }else if(arguments.length == 2){
       return arguments[0]+arguments[1];
   }else if(...){
      ...
   }
}
add(1,2);
add(1,2,3);
//好尴尬,如果只有一两个还好,如果多的话就挂了..0.0..
  * 第二种
function add(){
      var count = 0;  //函数内部定义局部变量
      for(i in arguments){
          count+=arguments[i];     
     }
     return count;
}
add(1);
add(10,20);
add(100,200,300);
//通过for-in函数成功将这个重载问题搞定,以后用那个就看个人兴趣啦啦啦~

函数基础基本就是这样了,在进阶教程中会讲述基础函数的封装/闭包/类等,凡是欲速则不达,打好基础才是进阶的关键。

上一篇 下一篇

猜你喜欢

热点阅读