let const var 区别详解
let和var区别
一、let不存在变量提升
首先先要了解什么叫变量提升?就是变量声明提前(!注意 不是赋值),var具有这个属性,下面有个小例子;
console.log(a)
var a='a'
如果按照编译顺序看,代码运行结果应该是报错 变量未定义
而实际结果是变量为空即:undefined
undefined 说明这个变量已经被声明了,但是还没有赋值
然而let就会会严格执行运行顺序
console.log(a)
let a='a'
二、同一个作用域下,不能重复定义同一个名称
let a=1;
let a=100;//结果会报错
console.log(a)
Uncaught SyntaxError: Identifier ‘a’ has already been declared
let a=1;
a=100;
console.log(a)
100
三、有着严格的作用域
var属于函数作用域 let属于块级(即‘{’‘}’内的)作用域
function a(){let i=1;
if(true){let i=100;console.log(i)
}
console.log(i)
}
a()
100;
1;
const和let区别
首先const具有let以上三点特性
//1.声明一个只读的常量,一旦声明,常量的值就不能改变
const a=100;
a=111;
console.log(a)
//2.声明的同时一定要赋值(常量)
const b;
//3.复杂的变量可以先声明变量的类型
const c={};
c.name='cc'
console.log(c)//正确
let const var 区别详解相关推荐
- 前端开发:JS中let、var和const的区别详解
前言 前端开发过程中,JS声明变量的关键字想必开发者都不陌生,而且使用的频率在前端开发过程中也是数一数二的.JS中声明变量的关键字有三个let.var和const,但是三者的使用对比和区别也是非常重要 ...
- for of 的用法区别_ES6语法:var、let、const的区别详解
今天来说说es6的语法,最基础的也就是var,let,const 的用法与区别了,我们来看看他们之间的恩怨情仇 首先来说说var,这个只要是学过js的都知道,它是用来声明一个变量的,但是它在开发中也会 ...
- JavaScript中let和var区别详解
想要了解var(ES5)和let(ES6)区别,首先就要了解ES5下JS的变量提升 一.变量提升(声) 当浏览器开辟出供代码执行的栈内存后,代码并没有自上而下立即执行,而是继续做了一些事情:把当前作用 ...
- const int *a和int*const a 的区别详解
补充知识 "const int i"与"int const i"之间的区别 对变量来说,const 关键字可以限定一个变量的值不允许改变,从而保护被修饰的东西, ...
- c语言char数组和short数组的区别,详解C语言中Char型指针数组与字符数组的区别
详解C语言中Char型指针数组与字符数组的区别 详解C语言中Char型指针数组与字符数组的区别 1.char 类型的指针数组:每个元素都指向一个字符串,指向可以改变 char *name[3] = { ...
- vue 事件调用 传参_对vue下点击事件传参和不传参的区别详解
如下所示: {{btn_text1}} {{btn_text2}} var _vm = new Vue({ data : { btn_text1 : '点击1' , btn_text2 : '点击2' ...
- js中toString()和String()区别详解
转载自 js中toString()和String()区别详解 我们知道String()与 .toString()都是可以转换为字符串类型,但是String()与 .toString()的还是有区别的 ...
- click传值vue_对vue下点击事件传参和不传参的区别详解
如下所示: {{btn_text1}} {{btn_text2}} var _vm = new Vue({ data : { btn_text1 : '点击1' , btn_text2 : '点击2' ...
- 转 常量指针和指针常量的区别详解
传送门 常量指针和指针常量的区别详解 在C/C++中关键字const用来定义一个只读的变量或者对象,有如下优点 (1)便于类型检查,如函数的函数 fun(const int a) a的值不允许 ...
最新文章
- Android SQLiteDatabase的使用
- 【Java】Java枚举类型示例
- Java 9 新功能之 HTTP2 和 REPL
- 项目微管理 - 总结也是新的开始
- java 实现协方差_无监督数据降维技术-主成分分析(PCA)的Python实现
- 基于VUE+TS中引用ECharts的中国地图和世界地图密度表
- frameset的一些操作
- 视频分享:做“有料”的计算机大学生
- python中-----数组中的排序
- Atitit oodbms的查询,面向对象的sql查询jpa jpql hql
- Ubuntu 16.10(x86) Install WordPress SRV 4.7.1-1-5
- LineageOS的代码下载、编译及真机运行
- 初级办公计算机,初级(计算机办公软件应用)教案
- dubbo之failed to connect to server /xx.xx.xx.xx:20880 client-side timeout问题解决
- 手机用蓝牙键盘好使吗_手机也可以连接键盘,你知道怎么使用吗?
- 【reactor模式】【proactor模式】
- RCC详解_day7
- Android仿QQ通讯录分组展示ExpandableListView
- Java设计模式之 工厂模式(简单工厂模式)
- 前端面试第快速复盘,不标准的面试经验分享 (二)