zoukankan      html  css  js  c++  java
  • 回调函数

    回调函数

    在JavaScript中,刚开始学习的时候,很多人感到最困惑的就是回调函数了。本文通过一个小小的例子来分析回调函数的用法。

    在很久很久以前,有一个人。

    var  person;
    

    他是个人,也就是一个对象。

    person= {}; // 在JavaScript中,花括号就代表是一个对象
    

    他有个名字叫小明。

    person.name = '小明';
    

    看一下是不是真的叫小明。

    alert(person.name);
    

    嗯,有一天,小明捡到了10块钱。

    person.money = '10块钱';
    

    有了钱就要花,于是他打算把10块钱用掉。

    小明有一个花钱的方法 spendMoney ()

    person.spendMoney =function(){   alert(this.name +"用 "+this.money +" 块钱买了漫画书!");    }
    

    运行:

    person.spendMoney();
    

    弹出提示:小明用10块钱买了漫画书。

    好了,问题来了,小明花钱就非得买漫画书吗,肯定不是。

    事实情况应该是,这钱怎么办,还是由他自己说了算。因为钱在小明的口袋里。

    所以,就可以用回调函数了。

    回调函数本身就是一个数据类型。

    在javaScript中,函数的地位和java中的String,int,boolean等等都是一样的,都可以看成是一个数据类型。

    既然是数据类型,当然可以当成参数传递。

    于是就应该这样:

    person.spendMoney =function(doSomeThing){   doSomeThing();   }
    

    打了个括号就是执行函数的意思。

    没打括号的函数,就是和String,int一样的玩意儿。

    是一个数据类型。

    一样的。

    JAVA里面会这么写:

    String str ="HelloWorld!";
    

    在JavaScript中,函数也是一样的。

    var  say =function(){ 
    
         alert('HelloWorld');
    
    }
    

    这时候的say就是一个数据类型。

    因为没有打括号,打了括号他才会执行!

    小明用十块钱做什么,他自己说了算。

    person.spendMoney(function(){});
    

    这样就是把函数传进去了。

    把函数传入spendMoney方法的目的就是让函数在里面执行的。

    所以:

    person.spendMoney =function(doSomeThing){   doSomeThing();  }
    

    里面就打了括号,代表要执行这个函数。

    具体做什么,自己决定。

    person.spendMoney(function(){   alert('还是把钱存起来吧!');  });
    

    总结一下,就是可以将函数作为一个参数,传入一个方法内,并且能够在该方法中执行这个函数,这也就是js特有的回调函数的魔力。

    免责声明: 博客中所有的图片素材均来自百度搜索,仅供学习交流,如有问题请联系我,侵立删,谢谢。




  • 相关阅读:
    嵌套循环td时补齐td的解决方法
    [web.aspNet]vs2005无法断点调试网站,断点失效 IE8 vss6.0
    使IE6下PNG背景透明的七种方法任你选
    VBA之Range对象在Excel单元格赋值示例
    css控制透明度
    SQL2000中用backup 备份数据库
    软件开发人才级别划分
    sql server事务全攻略(转载)
    程序员不是神,心态决定一切
    一个真正合格程序员的七种素质
  • 原文地址:https://www.cnblogs.com/swiftlai/p/8358959.html
Copyright © 2011-2022 走看看