• JS中的几种函数


    函数可以说是js中最具特色的地方,在这里我将分享一下有关函数的相关知识:

    包装函数:
            (function foo(){...})作为函数表达式意味着foo只能在...所代表的位置中被访问,外部作用域则不行

            (function foo(){...})()
            第一个()将函数变成表达式第二个()执行了这个函数,这种模式代表立即执行函数表达式

        包装函数的声明以(function...而不是function开始,函数会被当作函数表达式而不是一个标准的函数声明来处理
            区分函数声明和表达式最简单的方法就是看function的位置,如果是声明中的第一个词,就是函数声明,否则是函数表达式

    回调函数:

     setTimeout(function(){
                 console.log("i waited 10 second!");
             },10000);

             这叫做匿名函数表达式,因为function()...没有名称标识符,所以函数表达式是匿名的,而函数声明不可以省略函数名,在JS中是非法的

    匿名函数的几个缺点:
            #匿名函数在栈追踪中不会显示出有意义的函数名,使得调试困难
            #没有函数名,当函数需要引用自身时只能使用已经过期的 arguments.callee引用;比如在递归中,另一个函数需要引用自身的例子,是在事件触发后事件监听器需要解绑自身
            #匿名函数省略了对于代码的可读性

  • 相关阅读:
    链表基础操作2
    数据结构第二章课后作业
    CSAPP第二個實驗bomblab
    链表的基础操作1
    Codeforces 375
    Codeforces 372
    Codeforces 367
    线性同余方程组
    【除草】反演
    【转】组合数求模
  • 原文地址:https://www.cnblogs.com/wccc/p/6713645.html
Copyright © 2020-2023  润新知