zoukankan      html  css  js  c++  java
  • 函数传参

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

      参数:指的是,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();

      };           

  • 相关阅读:
    ABP框架系列之六:(Value-Objects-值对象)
    ElementUI如何展开指定Tree树节点
    JS如何将变量作为一个对象的Key
    分布式追踪系统架构与设计
    11.浅聊几种主流Docker网络的实现原理
    Python连接MongoDB数据库并执行操作
    1.ZooKeeper ACL权限控制
    Pika 连接 rabbitmq 集群
    js for等循环 跳出多层循环
    Django ForeignKey不需要参照完整性?
  • 原文地址:https://www.cnblogs.com/effieduo/p/5040813.html
Copyright © 2011-2022 走看看