javascript 变量的声明方式(constvarlet)

Posted 猎人在吃肉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 变量的声明方式(constvarlet)相关的知识,希望对你有一定的参考价值。

文章目录

1、const

(1)不初始化,无法运行,直接报错

<script>
    <!--const 修饰的变量是一个常量,必须初始化赋值,且不可以修改。 -->
    const b;
    console.log(b);
</script>

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

(2)给常量赋值,运行正常

<script>
    <!--const修饰的变量是一个常量,必须初始化赋值,且不可以修改。   -->
    const b = 2;
    console.log(b);
</script>

测试:

可以正常输出。

(3)修改,报错

<script>
    <!--const 修饰的变量是一个常量,必须初始化赋值,且不可以修改。 -->
    const b = 2;
    b=5;
    console.log(b);
</script>

2、var

(1)不赋值,输出undefined,不会报错

<script>
    <!--var 的变量,不初始化,则输出undefined,不会报错 -->
    var b;
    console.log(b);
</script>

输出undefined

(2)定义并赋值

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


可以正常输出

(3)修改值

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

可以修改变量的值

(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,
        
        run: function () 
            console.log("run")
        ,
        eat: function () 
            console.log("eat")
        
    
</script>

(2)ES6 的写法

<script>    
    const student = 
        name:"zhangsan",
        age:20,
        
        run() 
          console.log("run")
        ,
        eat() 
          console.log("eat")
        
    
    console.log(student)
    console.log(student.eat())
    console.log(student.run())
</script>

以上是关于javascript 变量的声明方式(constvarlet)的主要内容,如果未能解决你的问题,请参考以下文章

基于JavaScript 声明全局变量的三种方式详解

基于JavaScript 声明全局变量的三种方式详解

基于JavaScript 声明全局变量的三种方式详解

基于JavaScript 声明全局变量的三种方式

JavaScript声明全局变量三种方式的异同

javascript中var let const三种变量声明方式