函数传参

一、函数传参:也就是函数传递参数。

  参数:指的是,JS的数据类型。

  数据类型有:Number,string,Boolean,function、object、undefined。————  这些构成了我们传递的一个参数

: 函数传参, 传什么就会用一个变量接收什么,而且是一个一一对应的关系。

// Number

  fn1(100,'px');                       //  要想传递多个参数,中间用逗号隔开

  function fn1(a,b){  

    alert(a+b); 

   };                       // 弹出的是 100px

// string

  fn2('miaov');

  function fn2(a){  

    a.charAt(3); 

    };                      //  弹出  o

     

// function   (包括了匿名函数和有名函数)

 1、匿名函数:

  fn3( function (){  alert(1);  } );                                                                      

  function fn3(fn){                              // 添加一个叫fn的形参,fn就代表的是function (){  alert(1);  }

   //  fn();                                      // 想要弹出里面的1,函数名加括号。 就弹出1

  };

  // 函数作为参数进来也是可以继续传递参数的

  fn3( function (a){  alert(a);  } );                                                                       

  function fn3(fn){                             

   //  fn(100);                                 // 100

  };                

  2、有名函数:

  function fn4(){            // 把fn4这个函数传递到fn5中

    alert(4);  

  };                 

  fn5( fn4 );                                    //  传递有名函数,直接写fn4,不要加()

  function fn5(fn){

    fn();                                     // 弹出的是 4

  };

// object                 

  fn6(window.document);

  function fn6(w,b){

    w.onload = function (){  d.body.innerHTML = 123;  };        

  };

二、添加回调函数

  在函数传参中,有时会添加一个回调函数:

  fn(oDiv,'left')                                             // 很简单的传递了两个参数,注意这里没有加回调函数 

  fn(oDiv,'left',  function (){   alert(1);   }    // 最后添加的这个函数就称作为回调函数

  function fn(obj,attr,endFn) {            // 这里的endFn就代表一个回调函数

    // 添加回调函数后,要做一个这样的判断

    // 如果参数中有endFn,就可以执行endFn(),也就是说可以执行回调函数里面的代码  ( 两种输写方法 )

      /*

      if(endFn){

        endFn();

      }

      */

      endFn && endFn();

  };           

原文地址:https://www.cnblogs.com/effieduo/p/5040813.html