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速度,有利于压缩代码
           具名函数表达式是一个最佳实践(外部无法修改,只有函数内部能够使用该函数名)
            函数声明必须有名字
            只有表达式才能够被执行
    回调函数

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

  • 相关阅读:
    JAVA集合
    js Map 遍历
    Oracle中start with...connect by子句的用法
    javascript的setTimeout()与setTimeout()方法用法总结
    js中替换字符串(replace方法最简单的应用)
    Java中SimpleDateFormat用法详解
    JavaScript如何比较两个数组的内容是否相同
    clientX、pageX、offsetX、screenX的区别
    【翻译】详解HTML5 自定义 Data 属性
    【翻译】使用CSS3和jQuery制作跟随鼠标方位的Hover特效
  • 原文地址:https://www.cnblogs.com/zycs/p/12349638.html
Copyright © 2011-2022 走看看