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

    <script type="text/javascript">
    /*
    * 作用域:
    * 作用域指一个变量作用的范围 例1
    * 在JS中一共有2种作用域
    * 1.全局作用域
    * 直接编写在Script标签里面JS代码,都在全局作用域中 例2
    * 全局作用域在页面打开时创建,在页面关闭时销毁
    * 例3 在全局作用域中有一个全局对象window(window浏览器的窗口,它由浏览器创建),我们可以直接使用
    * 在全局作用域中,创建的变量都会作为window对象的属性保存 例4 例5
    * 创建的函数都作为window对象的方法保存 例6
    * 全局作用域中的变量都是全局变量,在页面的任何部分都可访问到
    *
    * 2.函数作用域
    */
    // 例1:函数外面访问不到函数里面的东西
    function fun(){
    //a的作用域就在函数里
    var a = 123 ;
    }
    fun();
    // 外面看不到里面的a
    console.log(a);

    // 例2: 这3个都写在Script标签里面 都在全局作用域里
    var a = 123 ;
    var b = 456 ;
    function fun (){

    }

    // 例3 : 如果不是undefind 都有
    console.log(window);

    // 例4:
    var a = 10 ; //创建一个变量a会作为window对象的属性保存 a=10
    console.log(a);
    console.log(window.a); //访问window的属性

    // 例5:
    console.log(c); //直接访问c报错
    console.log(window.c); //直接访问一个对象的属性undefined

    // 例6:函数在全局作用里 此函数会作为window的方法保存
    function fun (){
    console.log('我是fun函数');
    }
    // fun();
    window.fun(); //和fun都是一样的

    // window.alert('a'); 和 alert('a') 一样
    </script>

    <!--变量声明-->
    <script type="text/javascript">
    /*
    * 变量声明提前
    * 使用var关键字声明的变量,会在所有的代码执行之前被声明 2.
    * 但是如果声明变量时不适用var关键字,则变量不会被声明提前 3.
    *
    * 函数声明提前 4.
    * 使用函数声明的形式创建函数function 函数名 (){}
    * 它会在所有代码执行之前就被创建,所以我们可以在函数声明前调用函数
    * 使用函数表达式创建的函数,不会被声明提前,所以不能在声明前调用
    */


    // 1.
    var a = 123 ; //不写var 就相当于window.a
    console.log(a);

    // 2.
    // 相当于 var a ;
    console.log(a); //先执行 a = undefined
    var a = 123; //a = 123 ;

    // 3.
    console.log(a);
    a = 123;

    // 4.
    function fun (){
    console.log('我是一个fun函数');
    };

    var fun2 = function (){
    console.log('我是一个fun2函数');
    };

    fun();
    fun2();

    // 4.
    // 函数声明会被提前创建
    // 写在前后无关
    fun();
    function fun (){
    console.log('我是一个fun函数');
    };

    // 函数表达式不会被提前创建
    // 会出现报错 会提前声明,但不会提前赋值
    fun2();
    console.log(fun2); //有这个变量
    // 函数表达式
    var fun2 = function (){
    console.log('我是一个fun2函数');
    };


    </script>

  • 相关阅读:
    update set from 语句用法
    SQL WITH AS用法
    SQL插入数据的多种方式
    本地临时表“#” 与 全局临时表 "##"
    sql常用语句
    关于mybatis转义SQL动态执行语句变慢的原因
    关于SQL中OUTER APPLY 得用法
    AspNetPager控件的简单使用
    JQuery常用的案例
    JQuery的学习笔记
  • 原文地址:https://www.cnblogs.com/weixin2623670713/p/12659197.html
Copyright © 2011-2022 走看看