JS中的const、var和let的区别

2023-05-16

看项目的时候遇到了const和let不知道什么意思,特写此博客给记忆力不好的我

1.const定义的变量不可以修改,而且补习初始化。(相当于java中的常量)

const a = 2;  //正确

a = 10;  //错误,常量不能被修改

const b;    //错误,必须初始化

2. var修饰的变量可以修改,如果不初始化会输出undefined,不会报错。

var a = 10; //a为10

a = 9;      //a的值被修改为9

var b;     //b的值为undefined

3.let是块级作用域,函数内使用let定义后,对函数外部没有影响

let c = 3;

console.log("函数外let定义c:" + c);  // 输出为c=3

function change(){

let c = 6;

console.log("函数内let定义c: " + c);   //输出c=6

}

change();

console.log(c);   //c的值任然为3,函数内的c只作用域change函数内

 

总结:

const: 定义的是常量

var: 定义的是变量

let:定义的是块作用域

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JS中的const、var和let的区别 的相关文章

  • C-const与指针

    const int p 不可以对 p 再次进行赋值 但可以对p进行再次赋值 p 6 p int const p 不可以对p再次进行操作 但可以对 p 再次进行操作 p 6 p const int const p 既不可以对p再次进行操作 也
  • C++对于const重铸,在结构体中的const引用通过const_cast转换值

    include
  • var与ES6中const、let声明的变量的区别

    好久以前的研究 今天再来回顾一下 首先我们比较一下使用var声明的变量和不使用var声明的变量的区别 使用var声明的变量声明前调用 那么该变量的值为undefined 不使用var声明的变量声明前调用直接报错Uncaught Refere
  • 【VAR模型

    向量自回归 VAR 是一种随机过程模型 用于捕获多个时间序列之间的线性相互依赖性 VAR 模型通过允许多个进化变量来概括单变量自回归模型 AR 模型 VAR 中的所有变量都以相同的方式进入模型 每个变量都有一个方程式 根据其自身的滞后值 其
  • 指针与const限定符

    const限定符和指针结合起来常见的情况有以下几种 const int a int const a 这两种写法是一样的 a是一个指向const int的指针 a所指向的内存单元不可改写 所以 a 是不允许的 但a可以改写 所以a 是允许的
  • var 关键字并不总是有效?

    C VS 2010 有人请解释一下为什么我不能使用var在我下面的代码中 var props TypeDescriptor GetProperties adapter error CS1061 object does not contain
  • /var/log/daemon.log 占用更多空间如何减少?

    下面是文件 rw r 1 root adm 4 4G Mar 6 09 04 daemon log rw r 1 root adm 6 2G Mar 1 06 26 daemon log 1 rw r 1 root adm 50M Feb
  • Haskell:let 语句,将数据类型复制到自身(带/不带修改)不起作用

    我想通过更改一个字段来更新记录语法 所以我做了类似的事情 let rec rec field 1 但我发现我无法打印rec不再 意味着当我尝试时编译器似乎进入无限循环 所以我尝试这样做 let a 1 prints OK let a a n
  • 为什么可以定义一个名为var或dynamic的类?

    今天我注意到我们可以定义一个名为var or dynamic 首先 我认为这是不可能的 因为这些是特殊关键字 不能用作Class name 但后来我尝试了 我很惊讶 当我定义两个类时 这是一个奇怪的情况 class var class dy
  • 何时在 Javascript 中使用 var [重复]

    这个问题在这里已经有答案了 也许很简单的问题 我应该在哪里使用varJavaScript 中的关键字 在我看来 使用它或不使用它都有相同的效果 但当然我仍在学习该语言 例如 这两个对我来说似乎是一样的 function var a mund
  • 什么时候应该使用“var”而不是“object”? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 无法从 Objective-C 视图控制器访问 Swift var - iOS

    我有一个带有 Objective C 和基于 Swift 的视图控制器的应用程序 我正在以编程方式从我的一个基于 Objective C 的视图控制器之一打开一个基于 Swift 的视图控制器 我遇到的问题是我无法从 Objective C
  • 使用 LINQ 和实体框架检查 C# var 中的 null 值

    我对 LINQ 和实体框架以及 C 中的 var 关键字都很陌生 所以如果这听起来像一个 新手 问题 请原谅我 在执行以下操作后 我在检查空值时遇到问题 var entry myDB Entries Where e gt e Email e
  • 在 OCaml 中的 let 命令(即 let _ = ... in)中使用下划线通配符有副作用吗?

    使用 OCaml 时 我几乎总是使用下划线通配符let exp 特别是当结果exp并不重要 重要的是里面的计算 例如 let print endline abc in let a a 1 in let do some thing in 所以
  • JMeter - 使用其他 BeanShell 预处理器/后处理器中的变量?

    有没有一种方法可以将变量从一个 BeanShell 预处理器 后处理器引用到另一个 BeanShell 处理器 它们在同一个线程组内 如果我在 HTTP 请求下的 BeanShell 预处理器内创建一个字符串变量 那么我可以在同一 HTTP
  • 我可以在不使用 npm、VS、Node 等而只使用 JS 代码本身的情况下转换 ES6-ES5 吗?

    我试图让 Firefox 在 ES6 中运行 Promise 但遇到了触发错误的 let 关键字 语法错误 let 是保留标识符 更改脚本标签以包含 类型 应用程序 javascript 版本 1 7 没有用 所以我正在寻求转换代码 我的情
  • Scala 中的自定义“let”表达式

    我很想拥有let构造类似于 Scala 中的 Haskell 中的构造 我尝试了几种方法 但似乎都不好 这是一些代码 object CustomLet extends App val data for i lt 1 to 1024 j lt
  • C# Var 与 Target 类型的 new

    C 9 was 正式宣布 https devblogs microsoft com dotnet welcome to c 9 0 几天前 一项新的语言功能是 目标类型的新表达式 它的用法与var 比较以下声明 我很好奇哪个性能更高 如果有
  • 链接“let”语句时使用“and”还是“in”更好?

    我意识到这可能是一个愚蠢的问题 但是 如果我把一堆let不需要需要了解彼此价值观的语句 使用是否更好and or in 例如 以下哪一个更可取 如果有 let a foo and b bar and c baz in etc or let
  • 循环中的 let 语句在 IE 中无法按预期工作

    我正在尝试 ECMAScript 6 中的一些示例 与其他浏览器相比 它的工作方式有所不同 这返回true在 Firefox 中 但它返回false在IE中 为什么这在 Internet Explorer 中的工作方式有所不同 let ca

随机推荐

  • 网络编程(二)InetAddress和InetSocketAddress

    本节主要讲InetAddress和InetSocketAddress这两个类 InetAddress 封装计算机的IP地址和DNS xff0c 没有端口 1 静态方法获取对象 InetAddress InetAddress getLocal
  • 网络编程(三)URL爬虫原理

    URL和URI的概念 URI xff08 Uniform resource identifier xff09 统一资源标识符 xff0c 用来唯一的标识一个资源 URL xff08 Uniform resource Locator xff0
  • Android lottie java.lang.IllegalStateException: Missing values for keyframe. 问题解决

    对接lottie时 xff0c 根据Lottie用法 xff0c 加载json xff0c 效果显示不出来 xff0c lottie官网上预览json显示正常 xff0c 大量搜索后 xff0c 发现lottie低版本 xff0c 不适用现
  • 网络编程(四)UDP通信

    UDP 以数据为中心 xff0c 非面向连接 xff0c 不安全数据可能丢失但是效率高 xff0c 例如短信 涉及到的类 DatagramSocket 和 DatagramPacket DatagramSocket 此类表示用来发送和接收数
  • 网络编程(五)Socket通信

    在网络编程 xff08 四 xff09 中学习了udp通信 udp通信是非面向连接的 效率高但不安全的通信 而socket通信是基于tcp协议 xff0c 建立稳定连接的点对点的通信 比如打电话 实时 快速 安全性高 占用系统资源高 效率低
  • 网络编程(六)聊天室代码实现

    先写一个客户端输入数据 xff0c 服务器端处理数据后返回给客户端 客户端 xff1a public static void main String args throws UnknownHostException IOException
  • 设计模式——单例模式

    设计模式包括三大类 创建型模式 xff08 主要用来建立对象 xff09 单例模式 工厂模式 抽象工厂模式 建造者模式 原型模式 结构型模式 适配器模式 桥接模式 装饰模式 组合模式 外观模式 享元模式 代理模式 行为型模式 模板方法模式
  • 破解单例模式

    通过反射和反序列化的手段可以破解几种单例模式 xff08 不包含枚举式 xff09 防止反射破解的方法 xff08 在私有构造方法中手动抛出异常 xff09 防止反序列化的方法 xff08 在所在类定义readreadResolve方法 x
  • 设计模式——工厂模式

    工厂模式 xff1a 实现了创建者和调用者的分离 详细分类 xff1a 简单工厂模式 工厂方法模式 抽象工厂模式 面向对象设计的基本原则 xff1a OCP xff08 开闭原则 xff0c Open Closed Principle xf
  • Spring框架jar包的下载方法

    1 登录 xff1a http repo springsource org libs release local org springframework spring 4 2 0 RELEASE 选择自己需要的版本 打开 2 进入上图中选中
  • list添加一个对象的时候抛出NullPointerException

    出现这个问题的原因在于 当你定义了一个List时 xff0c 但是没有new该list xff0c 也没有在无参构造方法中去new该list xff0c 就会抛出空指针异常 例如 xff1a private static List lt U
  • sql语句注意事项

    例子 xff1a select deptno avg sal count from emp where deptno 61 20 group by deptno having count gt 3 having 进行二次筛选 order b
  • Vue指令之V-if篇

    v if见名知意 xff0c 就和我们在java中的if功能类似 java中if xff08 条件成立 xff09 执行语句 只不过Vue中将java中的执行语句换成了标签快中的内容 在v if中 xff0c 也是类似的 v if 61 3
  • 安装SFTP/FTP插件快速编辑远程服务器文件

    默认的Sublime Text 3 是没有sftp ftp功能的 xff0c 如果编辑器自带ftp势必会提高开发效率 xff0c 虽然Sublime Text 3 默认是没有ftp功能 xff0c 但是安装sftp插件很容易 下面是我安装步
  • Vue指令之v-else篇

    讲完v if篇 xff0c 那么接下里我们就说说v else喽 对比java中的if 条件 条件成立执行的语句 else 条件不成立执行的语句 我相信你的脑瓜子已经转了90度 xff0c 已经完全搞明白Vue的v else该怎么用了 没错
  • Vue指令之v-for篇

    现在接着来扯v for指令 v for顾名思义 xff0c 和java中的for指令一个用法 xff0c 该指令用来循环遍历一个数组 v for 指令需要以 site in sites 形式的特殊语法 xff0c sites 是源数据数组并
  • Vue指令之v-on篇

    说到v on就立马事件 xff0c 最典型的的例子就是按钮的事件我们可以用v on监听事件 xff0c 并对用户的输入进行响应 先举个例子 xff0c 上代码 xff1a lt html gt lt head gt lt meta char
  • Vue指令之v-bind篇

    v bind指令 xff0c bind中文意思是捆绑的意思 xff0c 额 xff0c 捆绑 其绑定的参数在v bind 指令中的maohao xff08 冒号 xff09 后指明 xff0c 没错就是我标红的那个冒号 v bind指令被用
  • 5分钟认识JSON

    JSON JavaScript Object Notation JavaScript 对象表示法 什么是Json Json是java script 对象表示式 json是轻量级的文本数据交换格式 json对立于语言 xff1a json使用
  • JS中的const、var和let的区别

    看项目的时候遇到了const和let不知道什么意思 xff0c 特写此博客给记忆力不好的我 1 const定义的变量不可以修改 xff0c 而且补习初始化 xff08 相当于java中的常量 xff09 const a 61 2 正确 a