我是靠谱客的博主 优雅巨人,最近开发中收集的这篇文章主要介绍var let const(原创,精简),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

语法方面需要注意:

1.区分大小写
2.每句后面加分号在某些情况下会提升性能(解析器会在合适的地方自动补分号来尝试修改错误)
3.if的{}如果只有一句可以省略 单并不美观

变量

var需要注意的

1.如果没有初始化会自动保存一个undefined
2.将一个数字类型赋值成对象这样是不推荐但是有效的
3.var是再一个函数中生效(函数退出失效)(函数外无效)
4.函数内直接声明类似于直接声明一个全局变量
5.一条语句同时定义多个变量中间用逗号隔开

var a =1,b = 2, c = 3

6.var 存在变量提升

console.log(age);
age = 18;
//等同于
var age ;
console.log(age);
age = 18;
let 需要注意的

1.let的范围是块级作用域(只要在大括号内就归我管,不在的是外面的事情)


let a = 1;
{
let a = 2
console.log(a); //1
}
console.log(a);//2

2.let在同一块内对一个变量只允许声明一次(不同{}内不管)(var声明同一个也不行)
3.暂时性死区(let声明不会变量提升但是会有一个空闲的区域,称为暂时性死区)
4.let声明的变量不会成为windows对象而var会
5.for循环中的let因为在不同的块中 所以会打印出不同的值 而var则是在退出循环中保留同一个值 会打印相同的

for(var i = 0; i<5 ;i++){
console.log(i);
}//01234
for(let i = 0; i<5 ;i++){
console.log(i);
}//01234
for(var i = 0; i<5 ;i++){
setTimeout(() => {
console.log(i);
}, 0);
}//55555
for(let i = 0; i<5 ;i++){
setTimeout(() => {
console.log(i);
}, 0);
}//01234

前两个因为是同步操作所以不会影响 只有当异步时候会放入队列然后再打印所以var打印的是最后那个5 而let打印了所有应该保存的值(一切都是因为块级作用域)
6.let’声明的不会溢出(for中用let会不会泄露到外面)

const需要注意的

1.基本同let,但是不可修改
2.不可修改指向整个对象,改动其中的值是可以的

const a ={};
a.name='张三';
a.name = '李四'
console.log(a)//李四
最佳实践

少用var多用let最好多用const

最后

以上就是优雅巨人为你收集整理的var let const(原创,精简)的全部内容,希望文章能够帮你解决var let const(原创,精简)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(52)

评论列表共有 0 条评论

立即
投稿
返回
顶部