美文网首页
函数表达式、闭包

函数表达式、闭包

作者: 梨啊梨 | 来源:发表于2018-01-01 16:55 被阅读0次

    关于函数声明,他的重要特征就是函数声明提升,在执行代码之前会先读取函数声明,意味着可以把函数声明放在调用他的语句后面。

    Hi();

    function Hi(){

        alert(“Hi”);

    }

    这就是函数声明。

    函数表达式就是有=号的,比如:

    var Hi=function(){   }

    函数表达式在使用前必须先赋值。

    arguments.callee是一个指向正在执行的函数的指针

    闭包:有权访问另一个函数作用域中的变量的函数


    私有作用域

    (function(){

        //

    })();

    私有变量:函数的参数、局部变量和在函数内部定义的其他函数。函数的外部是不能访问他们的。

    特权方法:有权访问私有变量和私有函数的共有方法。使用publicMethod()方法来访问

    单例:只有一个实例的对象

    递归函数应该始终使用arguments.callee来递归地调用自己


    当在函数内部定义了其他函数时,就创建了闭包

         P178 学的有点懵。。。

    闭包的作用域链包含着他自己的作用域、包含函数的作用域和全局作用域。

    当函数返回了一个闭包时,这个函数的作用域会一直保存,直到闭包不存在

    使用闭包可以模仿块级作用域、可以在对象中创建私有变量

    相关文章

      网友评论

          本文标题:函数表达式、闭包

          本文链接:https://www.haomeiwen.com/subject/wlhagxtx.html