• 学习JavaScript闭包


    在JavaScript语言精粹中,闭包被解释为“函数可以访问它被创建时所处的上下文环境"的机制。它与JavaScript“特殊”的作用域有很大关系。其原理为:函数是运行在定义他们的作用域中而不是调用他们的作用域中
    举例1 演示闭包:
    Code

    举例2 演示作用域
    <script type="text/javascript">
    function myFunction() {
        
    var myVariable = 'inside';
    }

    var myVariable = 'outside';

    myFunction();
    alert(myVariable);  
    //将提示“outside”
    </script>

    举例3 演示作用域
    <script type="text/javascript">
    function myFunction() {
        
    //没有使用var
        myVariable = 'inside';
    }

    var myVariable = 'outside';

    myFunction();
    alert(myVariable);  
    //将提示“inside”
    </script>

    在函数内没有使用var来定义变量的时候,myVariable成为了全局变量,成了window对象的一个属性。而在使用var的情况下,变量myVariable是函数myFunction的内部变量。再看一个例子。
    举例4 演示闭包与作用域
    Code

    除了使用var关键字,将变量包含在定义函数时的圆括号内,如var quo = function(status){ ... },与使用var关键字的效果相同。

    参考资料:《JavaScript语言精髓》 《JavaScript DOM高级程序设计》 支付宝UED
  • 相关阅读:
    无聊,只发两张图……
    LA
    “万能数据库查询分析器”5.04 发布,撰写的相关技术文章达63篇
    HDU 1010Tempter of the Bone(奇偶剪枝回溯dfs)
    uva 10051 Tower of Cubes(DAG最长路)
    uva 103 Stacking Boxes(DAG)
    异步处理(列出所有文件)
    Android开发8:UI组件TextView,EditText,Button
    植物-蔬菜:红菜苔
    植物-蔬菜:菜苔
  • 原文地址:https://www.cnblogs.com/followflows/p/1581017.html
Copyright © 2020-2023  润新知