zoukankan      html  css  js  c++  java
  • 全局作用域与变量的声明提前

    ㈠作用域(scope)

    ⑴定义:作用域是在运行时代码中的某些特定部分中变量,函数和对象的可访问性。

                  换句话说,作用域决定了代码区块中变量和其他资源的可见性

    ⑵分类:在JavaScript中一共有两种作用域:

                1)全局作用域

                2)函数作用域

    ㈡全局作用域

    直接编写在script标签中的JS代码,都是全局作用域

    ⑵全局作用域在页面打开创建,在页面关闭销毁

    ⑶在全局作用域中有一个全局对象window

        它代表的是一个浏览器的窗口,它由浏览器创建,我们可以直接使用

    ⑷在全局作用域中:

       创建的变量都会作为window对象的属性保存

       创建的函数都会作为window对象的方法保存

    具体示例如下:

    ⑸ 全局作用域中的变量都是全局变量

        在页面的任意的部分都可以访问到

     

    ㈢变量的声明提前

    ⑴使用var关键字声明的变量,会在所有的代码执行之前被声明(但是不会赋值

    ⑵但是如果声明变量时不使用var关键字,则变量不会被声明提前

     

    ⑶具体示例如下:

    console.log("a = "+a);
    
    var a = 123;
    
    得出的结果为 a = 123;
    
    //上面的式子相当于这样
    
    var a ; console.log("a = "+a); a = 123; 得出的结果为 a = 123;

     

    ㈣函数的声明提前

    ⑴使用函数声明形式创建的函数function 函数( ){ }

       它会在所有的代码之前就会被创建,所以我们可以在函数声明前来调用函数

    ⑵使用函数表达式创建的函数,不会被声明提前,所以不能在声明前调用

     

    ⑶具体示例如下:

    fun();
    
    //函数声明,会被提前创建
    
    function fun(){
    
    console.log("我是一个fun函数");
    
    }
    
    //函数表达式,不会被提前创建
    
    var fun2 = function(){
    
    console.log("我是一个fun函数");
    
    };
    
    fun2();
  • 相关阅读:
    Ubuntu adb devices :???????????? no permissions (verify udev rules) 解决方法
    ubuntu 关闭显示器的命令
    ubuntu android studio kvm
    ubuntu 14.04版本更改文件夹背景色为草绿色
    ubuntu 创建桌面快捷方式
    Ubuntu 如何更改用户密码
    ubuntu 14.04 返回到经典桌面方法
    ubuntu 信使(iptux) 创建桌面快捷方式
    Eclipse failed to get the required ADT version number from the sdk
    Eclipse '<>' operator is not allowed for source level below 1.7
  • 原文地址:https://www.cnblogs.com/shihaiying/p/12005002.html
Copyright © 2011-2022 走看看