在最近项目需求中发现,完成一些功能的时候总是要调很多结构类似的方法,写起来很繁琐,所以就想写一个“万能”方法,是的代码更简洁。即:把一个方法作为参数传给这个“万能”方法,让它去执行你给定的方法,就类似于ajax中success/error方法传参,总是传入一个方法体。

####1.将方法作为参数

  代码:
  var a = function(){
    console.info("我成功执行了...");
  }
  var excuteFunc = function(funcName){
    funcName();
  }
  excuteFunc(a);

  控制台输出:
    我成功执行了...

  上面我们执行把a方法作为参数传给excuteFunc方法,用excuteFunc执行了a方法,但是如果a方法也含有参数呢,看下面的例子
####2.含参数的方法作为参数

  代码:
  var b = function(b){
    console.info("我成功执行了"+b);
  }
  var setFunc = function(fName,p){
    fName(p);
  }
  setFunc(b,"b方法");

控制台输出:
  我成功执行了b方法

  上例中的setFunc方法的第一个参数是要调用方法的句柄,第二个参数是要调用方法的参数,如果是多个依次列出即可

####3一个定时刷新数据的使用场景

  var getData = function(url){
    $.post(url,function(result){
      //逻辑代码...
    });
  }

  var getData1...
  .
  .
  .

  var setTimeFresh = function(fName,time,url){
    setInterval(fName,time,url);
  }

  setTimeFresh(getData,3000,url);//3秒获取依次数据刷新页面
  setTimeFresh(getData1,10000,url1);

  上例通过调用setTImeFresh方法去定时刷新指定数据,从而达到页面部分数据定时刷新的职能

小白菜又来献丑,勿怪!

js方法之间的调用之——传参方法的更多相关文章

  1. js方法用来获取路径传参上所带的参数

    //js方法用来获取路径传参上所带的参数 function GetQueryString(param) { var reg = new RegExp("(^|&)" + p ...

  2. 脚本语言丨Batch入门教程第四章:调用与传参

    今天是Batch入门教程的最后一章内容:调用与传参.相信通过前面的学习,大家已经掌握了Windows Batch有关的基础知识和编程方法,以及利用Windows Batch建立初级的编程思维方式.今后 ...

  3. jquery-uploadify传参方法

    jquery-uploadify传参方法$(document).ready(function () { $("#uploadify").uploadify({ 'uploader' ...

  4. 学习chrome 插件 DHC ,http请求传参方法

    DHC的简介 DHC是一款可以帮助用户使用chrome插件模拟HTTP客户端发送测试数据到服务器的谷歌浏览器插件,在chrome中安装了DHC插件以后,就可在服务器端代码初步完成的时候,使用DHC进行 ...

  5. synchronized修饰的方法之间相互调用

    1:synchronized修饰的方法之间相互调用,执行结果为There hello  ..因为两个方法(main,hello)的synchronized形成了互斥锁.  所以当main方法执行完之后 ...

  6. eclipse 中main()函数中的String[] args如何使用?通过String[] args验证账号密码的登录类?静态的主方法怎样才能调用非static的方法——通过生成对象?在类中制作一个方法——能够修改对象的属性值?

    eclipse 中main()函数中的String[] args如何使用? 右击你的项目,选择run as中选择 run configuration,选择arguments总的program argu ...

  7. JS完成页面跳转并传参的方法|附加:循环遍历对象

    此方法只能传递较少参数 方法如下: <a href='page/index.html'>跳转</a> 以上是正常写法,如果要传参按一下写法: <!--参数写在?后面,多个 ...

  8. java方法调用及传参

    静态方法:有static修饰的方法. 非静态方法:没有static修饰的方法. 方法调用: 一静态方法调用 静态方法/属性 1)一个类:直接调用. 2)不同类/不同文件: a: 类名.属性名/方法名 ...

  9. 定时器setTimeout()的传参方法

    更具体的代码:http://www.cnblogs.com/3body/p/5416830.html // 由于setTimeout()的延迟执行特性,所以在执行的函数中直接使用外部函数的变量是无法获 ...

随机推荐

  1. flexslider

    flexslider是一个出色的jquery滑动切换插件,支持主流浏览器,并有淡入淡出效果.适合初级和高级网页设计师. 查询了网上资料  总结一下flexslider属性 $(function(){ ...

  2. C语言实现双向循环链表

    #include <stdio.h> #include <stdlib.h> #include <string.h> struct list_head { stru ...

  3. CentOS上的RabbitMQ安装

    1. erlang安装配置(这里我们在opt目录下进行安装配置) cd /opt 安装依赖文件: yum install gcc glibc-devel make ncurses-devel open ...

  4. 公测后,微信小程序应用可能被拒原因.

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 34.0px "PingFang SC Semibold"; color: #23232 ...

  5. A strange lift_BFS

    Problem Description There is a strange lift.The lift can stop can at every floor as you want, and th ...

  6. Warning: Attempt to dismiss from view controller <UIViewController: 0x17d71c10> while a presentation or dismiss is in progress!

    昨天 调试程序 已经快要上线了 突然有个BUG 找了半天 才找到是因为这个警告 但是 解决这个警告又花了一天的时间 试了各种消除控制器的方法 都不可用 其中 并且 有这个bug  手机真机测试完全没问 ...

  7. 修改FastColoredTextBox控件完成选择

    //判断是否是中文        public bool IsChina(char c)        { bool BoolValue = false;            if (Convert ...

  8. ubuntu14.04LTS编译MUDOS v22.2b14

    附:MudOS v22.2b14下载连接 简单的编译步骤: (1)运行./build.MudOS (2)vim socket_efuns.c       o 修改Ln:1198的代码为         ...

  9. springboot系列之-log

    配置文件以application.yml为例说明: Spring Boot默认的日志组件为Logback. 一. 日志配置参数: logging: file: #日志文件,绝对路径或相对路径 path ...

  10. java web项目中 获取resource路径下的文件路径

    public GetResource{ String path = GetResource.class.getClassLoader().getResource("xx/xx.txt&quo ...