function函数

表达式

因从上向下调用,此方法被赋值,所有只能在函数下面调用

        var fun=function (name) {
            console.log("--------")
        }
       fun()

此方式未被赋值所有可以随意调用

        function name(params) {
            console.log("--------")
        }
        fun()
  • function,一般简写为 fun fn

  • 关键字是不可以作为函数名被命名的

    点击事件
  • 给对象的属性赋值:但如输入多次,会覆盖前一个

    如下,例:输出:=======,被覆盖----------

        var btn;
            btn.onclick=function(){
                console.log("--------")
            }
            btn.onclick=function(){
                console.log("=======")
            }   
  • 通过addEvenListener方法添加,不会被覆盖

    如下,例:输出:--------,=======

  • 解决方案

    addEvent(oBtn, "click", function () {
        console.log(666);
    });
    addEvent(oBtn, "click", function () {
        console.log(777);
    });
     function addEvent(ele, name, fn) {//元素   事件   回调函数
         console.log(ele.attachEvent);
         if(ele.attachEvent){//如果元素有attachEvent属性,就执行下面的代码
            ele.attachEvent("on" + name, fn);
        }else {//高级浏览器执行的方法
            ele.addEventListener(name, fn);
        }
     }
  • 支持浏览器IE9及以上

         var btn=document.getElementById("btn")
         btn.addEventListener("click",function(){
            console.log("-------")
         })
         btn.addEventListener("click",function(){
            console.log("======")
         })
  • 打印,函数内部的函数顺序,外面的同名的自定义函数

     var msg="bbbbbb"
        function fun1(){
            var msg="ccccccc"
            var mag1="dddddd"
            console.log("-------",msg,msg1)//打印msg
            console.log("=======",msg,mag1,window.msg)//打印函数外面自定义函数名的同名函数
        }

递归函数

  • 应用

    var sum=0
    var i=0      
    function fn() {
        if(i==101){
            return sum //返回sum
        }
        sum+=i
        i++
        return fn() //返回fn(跳出)
    }
    fn()
    console.log(sum)

回调函数(监听者模式)

    function fn1() {
        console.log("-------")
    }
    function fn2() {
        fn1()
        console.log("=======")
    }
    fn2()
    console.log("00000000")
  • success ,fail ,comlete 函数的用法

    success:接口调用成功的回调函数

    fail:接口调用失败的回调函数

    comlete:接口调用结束的回调函数(调用成功、失败都会执行)

    function fun(obj){//被监听对象
                 if (obj.num==1) {
                    obj.success("成功")
                 }else{
                    obj.fail("失败")
                 }
             }
             var obj={
                num:1,
                success:function(res){// 监听者
                    console.log("成功",res)
                },
                fail:function(err){
                    console.log("失败",err)
                }
             }
             fun(obj)
         var num=1
         var obj={
            num,
            success:function(res){// 监听者
                console.log("成功",res)
            },
            fail//key vaule 是同一个值;和上面 num 同理
         }
         function fail(err) {
            console.log("失败",err)
         }
         fun(obj)

箭头函数

 success:()=>{
                console.log("成功",res)
            }
this:
  • 写在外面,window内容;

  • 在普通函数内写,表对象本身;

  • 箭头函数,表window内容

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值