首页 > 其他分享 >var、let 和 const 的区别

var、let 和 const 的区别

时间:2023-10-17 23:33:35浏览次数:33  
标签:const 变量 作用域 let var 声明

1.  var 是函数作用域;let 是块级作用域,{ } 中为块;

2.  变量提升。var 定义的变量会变量提升,比如  console.log(a); // undefined  var a = 1;  而 let 不存在变量提升,反而执行瞬间被称为“暂时性死区”

3. 全局声明。在全局作用域中 var 声明的变量会成为 window 对象的属性,而 let 声明的则不会

4. 条件声明。 由于 var 声明的变量会变量提升,所有重复声明同一变量时,JavaScript引擎会自动将多余的声明在作用域顶部合并为一个声明。而 let 重复声明变量则会报错。

5. for循环中的声明。 var 声明的变量会溢出循环体外部,变成全局变量。而 let 声明的变量则只在循环内部起作用。

6. const 与 let 情况一致,唯一的区别是 const 在声明变量时必须赋初始值,而且不能修改,修改的话会报错。 

标签:const,变量,作用域,let,var,声明
From: https://www.cnblogs.com/zeosky-zhe/p/17771019.html

相关文章

  • value too long for type character varying报错处理
    瀚高数据库目录环境症状问题原因解决方案环境系统平台:N/A版本:4.5症状使用insertinto插入数据时出现报错valuetoolongfortypecharactervarying问题原因458新增NLS_LENGTH_SEMANTICS参数,默认设置为byte。之前版本默认为char。NLS_LENGTH_SEMANTICS:该参数有byte和char两种取值......
  • 无涯教程-NumPy - delete函数
    此函数返回一个新数组,其中指定的子数组已从数组中删除,与insert()函数一样,如果不使用axis参数,则将输入数组展平,该函数采用以下参数-Numpy.delete(arr,obj,axis)Sr.No.Parameter&描述1arr输入数组2obj可以是切片,整数或整数数组,指示要从输入数组中删除的子数组3......
  • 线上临时文件夹报错Failed to parse multipart servlet request; nested exception is
    线上临时文件夹报错Failedtoparsemultipartservletrequest;nestedexceptionisjava.lang.RuntimeException:java.nio.file.NoSuchFileException......
  • 为网站接入免费SSL证书let's encrypt 并实现自动续签功能
    以ubuntu系统为例:1.安装certbot:aptupdateaptupgradesudoaptinstallcertbotpython3-certbot-nginx2.验证Web服务器端口是否打开并允许通过防火墙sudoufwstatusverbose3.获取SSL证书sudocertbot--nginx-dyour_domain.com-dwww.your_domain.com4.检查C......
  • java serverlets使用数据源连接oracle数据库,并执行查询操作代码
    packagechap03;importjava.io.IOException;importjava.io.PrintWriter;importjava.sql.Connection;importjava.sql.DriverManager;importjava.sql.ResultSet;importjava.sql.SQLException;importjava.sql.PreparedStatement;importjava.sql.Statement;importjava.u......
  • __attribute__((constructor))
    GNU C的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(FunctionAttribute)、变量属性(VariableAttribute)和类型属性(TypeAttribute)。__attribute__ 书写特征是:__attribute__ 前后都有两个下划线,并切后面会紧跟一对原括弧,括弧里面是相应的__attribute_......
  • ServletContext对象的学习
    一、新建了一个模块servlet-02,需要改变web.xml头部,并且改变tomcat配置,war尽量用哪个打哪个头部代码:<?xmlversion="1.0"encoding="UTF-8"?><web-appversion="4.0"xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http......
  • 论文阅读(三)——Channel-wise Topology Refinement Graph Convolution for Skeleton-Ba
    代码实验pythonmain.py--configconfig/nturgbd-cross-subject/default.yaml--work-dirwork_dir/ntu/csub/ctrgcn--device0--num-worker0综述......
  • Chiplet封装技术的应用现状
    这是IC男奋斗史的第39篇原创本文1651字,预计阅读4分钟。接上文:Chiplet解决芯片技术发展瓶颈Chiplet封装的产品介绍以下介绍几款国内外使用Chiplet封装技术的代表产品,包括CPU、GPU和ASIC芯片。1.苹果M1-UltraCPU:2022年3月9日,苹果推出自研的M1-Ultra处理器芯片,通过UltraFusio......
  • 报错:Could not resolve view with name 'xxx' in servlet with name 'dispatcherServl
    报错:Servlet.service()forservlet[dispatcherServlet]incontextwithpath[]threwexception[Couldnotresolveviewwithname'xxx'inservletwithname'dispatcherServlet']withrootcauseCouldnotresolveviewwithname'xxx&......