码迷,mamicode.com
首页 > 其他好文 > 详细

匿名函数

时间:2017-08-23 19:11:07      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:cti   忘记   text   data   数据   中华   重复   执行   一个   

匿名函数
1、没有名字的函数 或是(没有名字的函数赋值给一个变量的情况)是匿名函数
2、函数整体加小括号不报错
//匿名函数
    function(){}//这样写会报错

    (function (){
    })

3、注意:匿名函数光定义,不执行,会报错。(不能光定义)

 

匿名函数的调用方法

 //1、直接调用 不要求掌握
    (function (){
        console.log(22)
    })();
 //2、绑定事件 知道就可以
    document.onclick=function (){
        alert(11)
    };
//3、定时器 直接忘记
    setInterval(function(){
        console.log(33)
    },5000);

 

函数的数据类型

函数也是一种数据类型,归根结底它还是object(对象类型)

 

 function fu() {
        return  12
    }
    console.log(typeof(fu));//打印 function 
    console.log(typeof(fu()));// 返回值是什么类型就打印什么

 

递归
 
1、递归是一种思想,类似于我们的计算器,开闭原则
2、递归的实质就是函数自己调用自己(类似于循环)
3、递归注意点:递归必须有跳出条件,不然就死循环了
4、要有控制条件,跳出循环
var i=0;
    fn();
    function fn() {
        alert("爱我中华");
        i++;
        console.log(i);
        //控制条件,来调用函数
        if(i<3 //i>3 ){
            fn()
       //   return;
        }
      //fn();
    }

 

递归案例

//用递归求1+100和
    var sum=0;
    var num=1;
    function getSum(){
        // 不能放在函数里面,因为函数执行后,里面的变量也是重复刷新
        //变量一直等于sum=0 num=1
       // var sum=0; var num=1;
        sum+=num;
        num++;
        if(num<=100) {
            getSum()
        }
        return sum
    }
    console.log(getSum())
    
//用递归求1+100和
    function fu(n) {
        //跳出条件
        if(n<1){
            return 0;
        }
        //累加
//第二次调用100-1=99,就是100+99 第二次调用是99-1=98 就是100+99+90
        return n+fu(n-1)
    //fu(100)=100+90+98……+1+0

    }
    console.log(fu(100))/第一次调用是100,
 
回调函数(把函数作为参数使用
1、函数作为参数进行传递
        a)回调函数必须是一些规则
2、函数形参后加小括号
        a)函数作为参数进行传递和使用
 //回调函数:函数作为参数进行传递和使用
    fu(text);
    function fu(demo){
        demo()
    }
    function text(){
        console.log("a+b")
    }
//什么情况下,使用回调函数?
    //回调函数一般是用于定义一个规则来使用的
    //规则的传递只能通过函数实践,通过变量无法达成,所以我们需要传递规则的时候必须使用
    console.log( fu(4,2,text1));
    console.log( fu(4,2,text2));
    console.log( fu(4,2,text3));
    console.log( fu(4,2,text4));
    function fu(num1,num2,demo){
        return demo(num1,num2);
    }
    //定义四个规则:加减乘除
    function text1(a,b){
       return a+b;
    }
    function text2(a,b){
           return a-b;
        }
    function text3(a,b){
           return a*b;
        }
    function text4(a,b){
           return a/b;
        }

 

 

匿名函数

标签:cti   忘记   text   data   数据   中华   重复   执行   一个   

原文地址:http://www.cnblogs.com/wdz1/p/7419560.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!