zoukankan      html  css  js  c++  java
  • JS回调函数 callback() 、call 、apply的理解

    callback() 回调函数

    JS是单线程函数,单线程所有的函数执行都是同步的,前一个函数执行完之后再执行下一个函数,这样的话如果排队的函数很多就会造成页面长时间无响应

    所以,就要用到了JS异步callback

    怎么理解callbck  ?

    字面上理解下来就是,回调就是一个函数的调用过程。那么就从理解这个调用过程开始吧。函数a有一个参数,这个参数是个函数b,

    当函数a执行完以后执行函数b。那么这个过程就叫回调。

    代码如下

    //定义主函数,回调函数作为参数
    function A(callback) {
        callback();  
        console.log('我是主函数');      
    }
    
    //定义回调函数
    function B(){
        setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作  
    }
    
    //调用主函数,将函数B传进去
    A(B);
    
    //输出结果
    我是主函数
    我是回调函数

     call 改变作用域的this 的指向

    我们来定义几个对象

    //在浏览器的window 全局对象添加一个name,在docment对象添加一个name,声明一个对象添加name属性

     apply 也是改变作用域的this 的指向,但是与call不同的地方就是 call必须单个传参,而apply以数组形式多个传参

    输出:Bill Gates,Seatle,USA

  • 相关阅读:
    任意指定一个key获取该key所处在哪个node节点
    记一次mysql的问题处理@20181225
    Vue 自定义校验规则
    Vue 渲染状态标签
    Vue Token拦截跳转
    vue 组件路由问题
    vue npm运行报错
    Vue复习(一)
    从客户端中检测到有潜在危险的 Request.Form
    EF Core for MySql踩坑(二)
  • 原文地址:https://www.cnblogs.com/xxflz/p/10673786.html
Copyright © 2011-2022 走看看