欢迎光临散文网 会员登陆 & 注册

千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip

2023-07-24 12:19 作者:曹君先生  | 我要投稿

  // console.log(b);

        /*

        *****

          变量  

            在计算机的内存中(栈)开辟了一个空间, 给这个空间起了一个名字,这个名字就叫做变量名

            这个空间中只能存储一个内容,被存储的内容叫做变量值

          x=10;

          y=20;

       

        */


        // x=10;

        // console.log(x);//会将x空间中10获取并且打印

        // x=20;//给x空间重新存储20值,这时候会覆盖原有的值

        // console.log(x);



        // x=1;

        // y=2;

        // console.log(x+y);//将x空间中的值和y空间中的值获取相加并且打印


        /*

        window 这是网页中最根本元素,所有的内容都是window下的内容 ,通常可以省略window

         a=1  这种写法属于早期JavaScript不太成熟时,没有变量这个概念,会将所有描述赋值放在window对象中

         window.a=1;

         只有当运行到赋值时才会给window对象上创建属性a,之前是不会创建任何变量空间的,所以在这句话之前打印

         a,就会报错 a is not defined  a没有定义

         变量可以重复定义


         var b=2; 延续了早期放入在window对象下的特征,使用var定义的变量有一个特征叫做预解析

         预解析

           在script标签刚开始时,还没有运行到对应定义变量的位置,就会在内存栈中开辟一个存储空间,并且起名

           叫做变量名,但是并没有给这个空间中存储任何值,这时候如果获取这个空间中存储的值时,因为没有任何值

           所以会返回一个undefined(未定义)

              变量可以重复定义



           let c=3是ES6中推出的新的定义变量

           当没有执行到这句话时,它不会存在,并且在执行这句话之前打印会报错Cannot access 'c' before initialization

           不能c初始化之前调用它,不牵扯预解析的概念,没有使用let定义之前是不能调用的

            不能重复定义

            用let定义的变量并不是放在window下的,所以不能使用window.c获取

            let可以作为块语句的作用范围内

       

        */

    //    console.log(c);

    //     console.log(a);

        // a=1;

        // var b=2;

        // let c=3;



        // a=2;

        // var b=3;//重复定义覆盖了上一个同名变量

        // let c=3;//不能重复定义,会报错

        // alert()

        // window.alert()



        // console.log();

        // window.console.log();



        // console.log(window.b);

       

        // console.log(window.c);



        // {

        //     // 如果使用let在块语句中定义的变量,使用的范围仅属于这个块语句内,块语句外不存在

        //     // 把属于哪个范围内有效叫做作用域

        //     let d=1;

        //     console.log(d);

        // }

        // console.log(d);



        // if(){

        //     let a=1;

        // }



        /*

          变量名

          1、不能起无意义的变量名

          2、变量名命名时只能包含 数字,字母,下划线,$。但是第一个符号不能是数字

          3、不能使用关键字定义变量  if for while var这些是js中命令关键词,不能重复使用

          4、不能使用保留词 private public class

          5、变量名尽量使用驼峰式命名 除第一个单词外每个单词的首字母大写,一般临时变量使用_起头 _temp _price

          6、禁止使用window对象下所有属性和方法名相同的变量(var),如果使用let不需要考虑

          7、使用连等时,var定义只有第一个变量,后面都不会做预解析

          8、变量定义时如果同时定义多个变量,可以使用逗号分割,可以将有初始值的变量定义在一起,没有初始值的定义在一起

          var $a=1;

          var $=3;

          var _a=1;

          var a1=3;

          var 1a=3;//错误的

       

        */


    //   var  totalPrice=2000;


    //         console.log(window.status)

    var status=3;

    console.log(status+1);

    // var alert=3;


        // console.log(a1);

        // console.log(b1);

        // 只有第一个是var定义的变量,所以第一个会做预解析,而后面的b1和c1都不是var定义,而是第一种直接赋值给window的属性

        // b1和c1都不会做预解析

    // var a1=b1=c1=3;

    // console.log(a1,b1,c1);



    // var a1,b1,c1;

    // a1=b1=c1=3;


    // var a1=3,

    //     b1=3,

    //     c1=3;

     

    </script>

千锋教育JavaScript全套视频教程(10天学会Js,前端javascrip的评论 (共 条)

分享到微博请遵守国家法律