JavaScript中声明变量的三种方式

1:var

  1. 没有变量就去var一个,没有对象就去new一个

2:let
1:let和const是ES6中新增声明变量的关键字,

2:let声明的变量不会进行变量提升,

console.log(name) //name is not undefined
let name='张三'

3:let的声明方式和var基本上是一样的,一经声明不赋值输出undefined,后续可以对赋值进行改变.

let name='张三';
name='李四';
console.log(name) //李四

4:let和const声明变量变量命明具有唯一性,不能重复

let name='张三';
var name='李四';
console.log(name);//会报错

5:let声明的变量会形成一个块级作用域(也称为暂时性死区)

if(1==1){
var name='张三';
let letname='李四';
console.log(let) ;//输出''李四'';
}
console.log(name) //输出''张三'';
console.log(letname)//报错(letname is not defined))
var a=10;
function fn(){
console.log(a); //报错(let声明不会提升,一般a会输出10,但当前a和let a是一个整体
,let声明的变量不能再声明之前调用,会报错,所以称为暂时性死区)
let a =20;
}
fn() //报错

6:let和var有什么区别?

  1. :let声明变量不会变量提升,使用必须在声明之后
  2. :let声明变量变量名不能重复,否则报错
  3. :let会形成一个块级作用域

7:let和const有什么区别?

  1. let声明的值可以进行修改.const声明值一经赋值就不可再变

8:let会造成块级作用域小案例
在这里插入图片描述
在这里插入图片描述
3:const

  1. 1: const声明的是一个常量,变量一旦赋值,就不可以重新赋值,
/*const name='张三';
name='李四';//报错
console.log(name);//拨错*/
 const obj={};
 obj.name='张三';
 console.log(obj.name)//输出张三
 //obj存的是{}对象的地址,obj.name='张三修改的是obj下面的属性',obj的地址没变也没有重新赋值,所以不会报错.
  1. 2:const变量不能变量提升
console.log(name) //name is not undefined
const name='张三'
  1. 3:const声明变量变量名具有唯一性,不能重复
const name='张三';
const name= '李四' //会报错

示例
在这里插入图片描述

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值