匿名函数

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

    (function (){
    })

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

 

匿名函数的调用方法

 //1、直接调用 不要求掌握
    (function (){
        console.log(22)
    })();
 //2、绑定事件 知道就可以
    document.οnclick=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;
        }

 

 

转载于:https://www.cnblogs.com/wdz1/p/7419560.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值