美文网首页
变量的作用域、封闭函数、用变量的方式定义函数、闭包

变量的作用域、封闭函数、用变量的方式定义函数、闭包

作者: 栀心_d553 | 来源:发表于2019-12-31 08:12 被阅读0次

变量的作用域

全局变量:函数外部定义的变量,函数内部和外部都可以访问,它的值可以共享

    局部变量:函数内部定义的变量,函数内部可以访问,外部无法访问。
    函数内部访问变量时,先在内部查找是否有此变量,如果有,就使用内部变量,
    如果没有,就去外部查找

    函数内部如果不用'var'关键字定义变量,变量可能会变成全局变量,
    如果用严格模式解析会报错

封闭函数

全局变量:函数外部定义的变量,函数内部和外部都可以访问,它的值可以共享

    局部变量:函数内部定义的变量,函数内部可以访问,外部无法访问。
    函数内部访问变量时,先在内部查找是否有此变量,如果有,就使用内部变量,
    如果没有,就去外部查找

    函数内部如果不用'var'关键字定义变量,变量可能会变成全局变量,
    如果用严格模式解析会报错

用变量的方式定义函数

全局变量:函数外部定义的变量,函数内部和外部都可以访问,它的值可以共享

    局部变量:函数内部定义的变量,函数内部可以访问,外部无法访问。
    函数内部访问变量时,先在内部查找是否有此变量,如果有,就使用内部变量,
    如果没有,就去外部查找

    函数内部如果不用'var'关键字定义变量,变量可能会变成全局变量,
    如果用严格模式解析会报错
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>用变量的方式定义函数</title>
    <script type="text/javascript">
        myAlert();
        function myAlert(){
            alert('hello!');
        }//函数名()直接调用

        var myAlert = function () {
            alert('hello!')
        };
        myAlert()//这种函数的调用不能提前,这是一个变量,
        // 不能当成函数去使用,所以,不能提前
    </script>
</head>
<body>
    
</body>
</html>

闭包


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>闭包</title>
    <script type="text/javascript">
        /*
        闭包的本质就是函数嵌套,就是在函数里面定义函数,
        内部函数可以引用外部函数的参数和变量!
        参数和变量不会被垃圾回收机制给回收,直到你的页面关闭
        闭包的用途:可以存循环的索引值、做私有变量计数器
        */
        function aa(b){
            var a= 12;
            function bb(){
                alert(a)
            }
            return bb;
        }
        var cc = aa(24);



        var cc = (function (b) {
            var a= 12;
            function bb(){
                alert(a);
                alert(b);
            }
            return bb;
        })(24);
        cc();//封闭函数

    </script>
</head>
<body>
    
</body>
</html>

相关文章

  • 封闭函数和闭包

    变量的作用域 封闭函数 用变量的方式定义函数 闭包

  • 2018-12-08

    定时器的基本用法 定时器动画 时钟 倒计时 变量的作用域 封闭函数 用变量的方式定义函数 闭包 闭包存循环的索引值

  • 倒计时、变量的作用域、封闭函数、用变量的方式定义函数

    倒计时: 变量的作用域: 封闭函数: 用变量的方式定义函数:

  • 所谓闭包

    所谓闭包 Closures (闭包)是使用被作用域封闭的变量,函数,闭包等执行的一个函数的作用域。通常我们用和其相...

  • JavaScript 函数

    函数函数定义与调用变量作用域全局变量方法高阶函数闭包箭头函数$generator$ 函数 函数定义与调用 定义函数...

  • 封闭函数、闭包

    (1)封闭函数 (2)用变量的方式定义函数 (3)闭包 (4)闭包存循环的索引 (5)闭包做私有变量计数器 (6)...

  • 封闭函数 闭包

    (1)封闭函数 (2)用变量的方式定义函数 (3)闭包 (4)闭包存循环的索引 (5)闭包做私有变量计数器 (6)...

  • js封闭函数、闭包

    1、封闭函数 2、用变量的方式定义函数 3、闭包 4、闭包存循环的索引值 5、闭包做私有变量计数器 6、闭包做选项...

  • JavaScript的变量作用域和闭包操作

    1、JavaScript的闭包 变量的作用域: 每个函数来定义作用域,函数内部用var来声明的,他们的作用域只在本...

  • 闭包

    一个函数 , 使用外面的变量 , 就是闭包 .这个函数和变量共同叫做闭包 .闭包就是作用域的特殊使用方式

网友评论

      本文标题:变量的作用域、封闭函数、用变量的方式定义函数、闭包

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