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

    自调用函数:自己调用自己
    自调用函数:(function(){函数})
    自调用(自执行函数)的作用:主要用来分割作用域
    eg:
    function  sum(n1,n2){
                console.log(n1+n2);
    }
    sum(2,3);
    思考题:具名函数可不可以自调用(可以调用)
    表达式中的具名函数只识别为匿名函数,而忽略它的函数名
    具名函数的四种调用方式:
    1、()小括号运算符,平时常用的就是()运算符来调用执行一个函数
    2、call
    3、apply
    4、new(不推荐使用这种方式)
    总结:用new方式调用函数时,如果存在返回值,当返回值是Javascript的内置类型(基本类型)如String,Number,Boolean等时,将不会返回该值;当返回值是对象,函数,数组等对象类型时,将返回该对象,函数,数组


    匿名函数表达式缺点:追踪栈中没函数名,调试困难;如果需要引用自身,只能用arguments.callee(ESS严格模式禁用);降低了函数可读性、可理解性
    立即执行函数:也叫自执行函数,用法
    第一种:(function(){函数体}());
    第二种:(function(){函数体})();
    两种用法完全等价
    立即执行函数为什么能够自动执行?
    因为这是函数声明,函数声明不可以执行的,
    只有表达式才能够执行

    总结
            立即执行函数传递Window参数优化在作用域链查找Window速度,有利于压缩代码
           具名函数表达式是一个最佳实践(外部无法修改,只有函数内部能够使用该函数名)
            函数声明必须有名字
            只有表达式才能够被执行
    回调函数

    回调函数在执行完毕后,根据不同的情况,可能调用不同的函数,我们可以调用这个函数
    回调函数本质是一个参数

  • 相关阅读:
    第十一次作业——LL(1)文法
    wechall前十题
    [V&N2020 公开赛]TimeTravel 复现
    CTFHub web技能树之RCE初步 命令注入+过滤cat
    算法第四章作业
    算法第四章上机实践报告
    算法第三章作业
    算法第三章上机实践报告
    算法--第二章作业
    算法第二章上机报告
  • 原文地址:https://www.cnblogs.com/zycs/p/12349638.html
Copyright © 2011-2022 走看看