js:变量的声明方式(const、var、let)


1、const

(1)给常量赋值并输出

<script>
            <!--const定义的变量是一个常量,不可以修改,而且定义的时候必须给常量赋值-->
           const b = 2;
           console.log(b);
        </script>

测试:

 可以正常输出

(2)修改

    <script>
            <!--const定义的变量是一个常量,不可以修改,而且定义的时候必须给常量赋值-->
           const b = 2;
           b=5;
           console.log(b);
        </script>

 (3)不赋值

<script>
            <!--const定义的变量是一个常量,不可以修改,而且定义的时候必须给常量赋值-->
           const b;
           console.log(b);
        </script>

const可以保证数据的安全性,虽然不能改变对象的值,但是可以改变对象的指向。 

 

2、var

(1)定义并赋值

    <script>
            <!--var定义的变量可以修改,如果不初始化会输出undefined,不会报错-->
           var b=12;
           console.log(b);
        </script>

 可以正常输出

(2)修改值

<script>
            <!--var定义的变量可以修改,如果不初始化会输出undefined,不会报错-->
           var b=12;
           b=34;
           console.log(b);
        </script>

 可以修改变量的值

(3)不赋值

<script>
            <!--var定义的变量可以修改,如果不初始化会输出undefined,不会报错-->
           var b;
           console.log(b);
        </script>

 输出undefined

 (4)不声明,不赋值

    <script>
            console.log(sname);
        </script>

 (5)不声明,直接赋值,可以使用但是不提倡

    <script>
            uname="zhai";
            console.log(uname);
        </script>

 

3、let

    <script>
            <!--let是块级作用域,函数内部使用let定义后,对函数外部无影响-->
                let a = 1;
             console.log('函数执行前:' + a);
             function test(){
             let a = 2;
             console.log('函数内改变变量的值为:' + a);
             } 
             test();
             console.log('调用函数后:' + a);
        </script>

 在函数内部对变量值的改变,不会影响到函数的外部改变量的值。

 ES5只有函数有块级作用域的概念,ES6中的块级作用域包括函数、for循环、if,块及作用域。

 

4、ES6对字面量的增强写法

(1)ES5的写法

<script>
    const student = {
        name: "zhai",
        age: 12,
        eat: function () {
            console.log("eat")
        }
    }
</script>

(2)ES6属性

<script>
  const name="zhai";
  const age=12;
  const student={
     name,
      age
  }
  console.log(student)
</script>

(3)ES6函数

<script>
    const name = "zhai";
    const age = 12;
    const student = {
        run() {
          console.log("run")
        },
        eat() {
          console.log("eat")
        }
    }
    console.log(student.eat())
    console.log(student.run())
</script>

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM