JS中var、let以及const关键字到底怎么用?

这篇具有很好参考价值的文章主要介绍了JS中var、let以及const关键字到底怎么用?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


详解JS中var、let以及const作用域

在学习JS变量之后,初学者都避免不了都会一下子分不清这三个变量在代码块中的作用域范围,其实const简单理解它就是定义常量的,但是在实际开发中,我们却很常见它的身影。

说实话刚开始我也分不清他们的作用域范围,但是自己再去详细看一遍教程之后,其实发现还是挺简单的,只要自己上手去实操一遍过后,基本就已经牢记了,自己就是太懒了,哈哈,很多东西看一遍就过了,以至于到真正用起来,一问三不知。

所以,接下来我们通过代码片段去搞清楚它们三个的区别


用var关键字定义的变量:
情况一:

<script>
    //定义并赋值一个var变量
    var a = 1;      //此时我们定义的是全局变量

    //定义一个函数,用来代表作用域,只要函数懂了,其实对象也就懂了
    function myfunction(){
        var a = 2;
        a = 3;
        console.log("函数中的值为:",a);
    }
    //调用函数
    myfunction();
    console.log("函数外的值为:", a);
</script>

此时控制台输出的就是正常内容:
JS中var、let以及const关键字到底怎么用?

情况二:

<script>
    //定义并赋值一个var变量
    var a = 1;      //此时我们定义的是全局变量

    //定义一个函数,用来代表作用域,只要函数懂了,其实对象也就懂了
    function myfunction(){
        var a = 2;
        a = 3;
        console.log("函数中的值为:",a);
    }
    console.log("函数外的值为:", a);
</script>

此时输出a的值,显示结果为1,也就是说即使是在函数中重新定义,赋值 a ,它作用的范围都仅限于函数体内,函数体外是不会受影响的,这种情况我相信不用说大家都能理解。
JS中var、let以及const关键字到底怎么用?


用let关键字定义变量:
情况一:

<script>
    //定义并赋值一个var变量
    let a = 1;      //此时我们定义的是全局变量

    //定义一个函数,用来代表作用域,只要函数懂了,其实对象也就懂了
    function myfunction(){
        let a = 2;
        a = 3;
        console.log("函数中的值为:",a);
    }
    // 调用函数
    myfunction();
    console.log("函数外的值为:", a);
</script>

结果和var一样,函数体内和函数体外输出的内容都是对应的,互不影响,且也可以重新赋值
JS中var、let以及const关键字到底怎么用?

情况二:

<script>
    //定义并赋值一个var变量
    let a = 1;      //此时我们定义的是全局变量
    let a = 2;
    //定义一个函数,用来代表作用域,只要函数懂了,其实对象也就懂了
    function myfunction(){
        let a = 2;
        let a = 3;
        a = 3;
        console.log("函数中的值为:",a);
    }
    // 调用函数
    myfunction();
    console.log("函数外的值为:", a);
</script>

此时,就算程序还没运行,代码提示中就会出现报红,证明不论在全局作用域下还是在局部作用域,let关键字定义的变量是不允许重新定义的
JS中var、let以及const关键字到底怎么用?


用const关键字定义常量
其实听见常量都知道它的定义规则了,但是,我们还是不厌其烦的自己去再尝试以下
情况一:

<script>
    //定义并赋值一个var变量
    const a = 1;      //此时我们定义的是全局变量
    //定义一个函数,用来代表作用域,只要函数懂了,其实对象也就懂了
    function myfunction(){
        const a = 2;
        console.log("函数中的值为:",a);
    }
    // 调用函数
    myfunction();
    console.log("函数外的值为:", a);
</script>

此时,用const关键字定义的常量和上面的情况一一样,都是正常的
JS中var、let以及const关键字到底怎么用?

情况二:

<script>
  //定义并赋值一个var变量
  const a = 1;      //此时我们定义的是全局变量
  const a = 2;
  //定义一个函数,用来代表作用域,只要函数懂了,其实对象也就懂了
  function myfunction(){
      const a = 2;
      const a = 3;
      
      console.log("函数中的值为:",a);
  }
  // 调用函数
  myfunction();
  console.log("函数外的值为:", a);
</script>

此时,程序还没有被运行,代码提示就会报红,所以说,常量是不能被重复定义并赋值的

情况三:

<script>
    //定义并赋值一个var变量
    const a = 1;      //此时我们定义的是全局变量
    a = 2
    //定义一个函数,用来代表作用域,只要函数懂了,其实对象也就懂了
    function myfunction(){
        const a = 2;
        console.log("函数中的值为:",a);
    }
    // 调用函数
    myfunction();
    console.log("函数外的值为:", a);
</script>

此时我只是重新赋值了a,并没有重新定义,虽然代码提示没有报红,但在控制台中,就已经出现了错误,同样,即使是在函数中定义赋值常量并再次赋值,也是和上述一样,所以说,常量是不能被重新定义和赋值的
JS中var、let以及const关键字到底怎么用?

总结

var: 无论是在全局作用域或是局部作用域,用var关键字定义变量,都可以进行重新定义或赋值操作,这相信大家不用说都知道

let: 在全局作用域下定义赋值或重复赋值,或者是在局部作用于下定义赋值或赋值,都是可行的,但是,不能在同一定义域下重复赋值。

const: 无论在全局作用域下还是局部作用域下,都可以声明并赋值一个常量,但是常量是不可被再次定义或赋值的,即便是在全局作用域下声明赋值一个常量,在局部作用域下修改其值,虽然代码提示不会报错,但是也是不可行的。文章来源地址https://www.toymoban.com/news/detail-411892.html

到了这里,关于JS中var、let以及const关键字到底怎么用?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++系列:const关键字

    在学习C++时,const的知识点分散在书的各个章节。当我们尝试在编程时使用const时,总会感觉有一些细节被遗忘,因而不能得心应手地使用const。因此,本篇文章尝试着对const的做一些总结。参考书籍《C++ Primer Plus》 这里是我做的关于const的一些总结

    2024年03月09日
    浏览(34)
  • C# const关键字学习

    你居然不知道const?今天在做项目的时候别人问我的,我确实不知道这个,今天我们就来一起学习一下const定义局部变量,这个对于常数变量非常的友好的,可以提高程序的运行效率,因为它是在编译时的操作,所以我们必须要学习一下,这不就是提

    2024年01月22日
    浏览(36)
  • 【C++】const关键字的详解!!

    💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃 个人主页 :阿然成长日记 👈点击可跳转 📆 个人专栏: 🔹数据结构与算法🔹C语言进阶 🚩 不能则学,不知则问,耻于问人,决无长进 🍭 🍯 🍎 🍏 🍊 🍋 🍒 🍇 🍉 🍓 🍑 🍈 🍌 🍐 🍍 const是永恒不

    2024年02月03日
    浏览(32)
  • 重学C++系列之const与static关键字分析

            本篇幅讲解const与static,主要围绕在类的范围内叙述,包括作用和使用场景等。         1、const修饰的成员变量,成员变量初始化后不能再修改。         2、const修饰的成员函数,成员函数不可以修改成员变量,也不能间接修改。         3、static修饰的成员

    2024年02月15日
    浏览(35)
  • 在C++和C中static关键字的用法,在C++和C中const关键字的用法

    1、在C++和C中static的用法 答:static表示存储类型,修饰数据类型。在C语言中,static修饰局部变量,内存分配在静态区,生命周期延长,作用域不变。static修饰全局变量,内存分配在静态区,作用域被局限于本文件,不能被extern引用。static修饰函数,不能被exter

    2024年02月10日
    浏览(28)
  • 嵌入式C语言关键字(const、static、volitatile)

    C语言中const修饰通常是用来声明常量,并声明常量的值不能修改。当涉及 指针变量 时情况就会变得更加有趣,需要特别注意。因为有两样东西都有可能成为常量— 一种是用来限定指向的空间的值不可修改;另一种是限定指针不可修改 。下面是几个声明的例子: 总结:cons

    2024年02月06日
    浏览(30)
  • 【C++】const、static关键字和构造函数初始化

    💗个人主页💗 ⭐个人专栏——C++学习⭐ 💫点击关注🤩一起学习C语言💯💫 目录 1. const修饰成员函数 1.1 语法格式 1.2 权限放大缩小 1.3 思考 1.4 解答 2. 再谈构造函数 2.1 构造函数体赋值 2.2 初始化列表 2.3 explicit 3. static成员 3.1 静态变量 3.2 静态函数 3.3 静态成员变量

    2024年02月19日
    浏览(34)
  • static,const,volatile,extern,register关键字深入解析

    ✅作者简介:嵌入式入坑者,与大家一起加油,希望文章能够帮助各位!!!! 📃个人主页:@rivencode的个人主页 🔥系列专栏:玩转C语言 💬保持学习、保持热爱、认真分享、一起进步!! 我们都知道一个源文件要生成我们计算机课执行的文件要经过: 源文件(test.c)—预编

    2023年04月08日
    浏览(22)
  • 【C++】C 语言 和 C++ 语言中 const 关键字分析 ( const 关键字左数右指原则 | C 语言中常量的原理和缺陷 | C++ 语言中常量原理 - 符号表存储常量 )

    【C 语言】const 用法 ( 常量指针 - const 在 * 左边 - 修饰数据类型 - 内存不变 | 指针常量 - const 在 * 右边 - 修饰变量 - 指针不变 ) 普通类型数据的常量定义时 , const 在 数据类型 的 左边 和 右边 其作用 是相同的 ; 指针数据的相关常量类型 : const 在 指针符号

    2024年02月11日
    浏览(36)
  • C/C++面试常见问题——const关键字的作用和用法

    首先我们需要一下const的定义, const名叫常量限定符 , 当const修饰变量时,就是在告诉编译器该变量只可访问不可修改,而编译器对于被const修饰的变量有一个优化,编译器不会专门为其开辟空间,而是将变量名和数值作为一个kv键值对存入到符号表中。 注意:const修饰

    2024年02月08日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包