let、const、var 的区别

时间:2021-6-12 作者:qvyue

let、const、var 的区别     

       1. 使用 var 声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象

        2.使用 let 声明的变量,其作用域为该语句所在的代码块内,不存在变量提升

        3.使用 const 声明的是常量,在后面出现的代码中不能再修改该常量的值

var 变量的提升:

js运行时先读取变量和函数 ,变量就会被提取到头部。

            var关键字声明的变量,无论实际声明的位置在何处,都会被视为声明在函数的顶部(如果声明不在任意函数内,则视为在全局作用域的顶部)

JavaScript引擎的工作方式是,先预解析代码, 获取所有被声明的变量和函数声明,然后再一行一行地运行,这就使所有变量声明的语句,都会被提升到代码的头部,这就是变量提升

let、const、var 的区别

            log打印 a 本来是错误的做法但是因为变量的提升所以没有报错 打印的undefined

let、const、var 的区别

let 关键字

let关键字就是用来声明变量的

使用let关键字声明的变量具有块级作用域

在一个大括号中 使用let关键字声明的变量才具有块级作用域 var关键字是不具备这个特点的

防止循环变量变成全局变量

使用let关键字声明的变量没有变量提升

使用let关键字声明的变量具有暂时性死区特性

let声明的变量只在所处于的块级有效

let、const、var 的区别

let 不存在变量提升

let、const、var 的区别

暂时性死区

利用let声明的变量会绑定在这个块级作用域,不会受外界的影响

let、const、var 的区别

const 关键字

声明常量,常量就是值(内存地址)不能变化的量

const声明的变量是一个常量

既然是常量不能重新进行赋值,如果是基本数据类型,不能更改值,如果是复杂数据类型,不能更改地址值

声明 const时候必须要给定值

const 具有块级作用域

let、const、var 的区别

声明常量时必须赋值

let、const、var 的区别

常量赋值后,(基本数据类型)值不能修改

let、const、var 的区别

复杂数据类型可以修改值,单是不能修改地址值。

let、const、var 的区别

var 面试题

let、const、var 的区别

let面试题

let、const、var 的区别
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:qvyue@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。