var的作用就不多说了,下面说说var的缺点:

  1.var可以重复声明    

var a = 1;
var a = 5;
console.log(a); //5 不会报错

  在像这些这些严谨的语言来说,一般是不允许重复声明的。

  2.无法限制修改

var  a = 5;
a = 6;
console.log(a); //6 不会报错

  3.没有块级作用域

if(true){
var a = 5;
}
console.log(a) // 5

  以上几个就是我个人对var的看法

  

  ES6中,多了两个声明let 和 const

  let和const的共同点 : 不能重复声明,都是块级作用域

//let和const重复声明
//let
let a= 1;
let a = 2;
console.log(a); //报错 //const
const b = 2;
cosnt b = 3;
console.log(b); //报错 //let和const的块级作用域
//let
if(true){
let a = 8l
}
console.log(a); // 报错 //const
if(true){
const b = 8;
}
console.log(b) //报错 相对于var
if(true){
var c = 10;
}
console.log(c); //10

  let和const的不用点:let声明的是变量,可以改变;    const 声明的是常量,不能改变。

//let和const的不同点
//let声明的是变量,可以改变
let a = 8;
a = 88;
console.log(a); //88 //cosnt声明的是常量,不可以改变
const b= 8;
b = 88;
console.log(b); //报错

  以上是我个人对var,let和const的理解

关于var和ES6中的let,const的理解的更多相关文章

  1. 浅谈ES6——ES6中let、const、var三者的区别

    在了解let.const.var的区别之前,先了解一些什么是es6 Es6 全称ECMAscript 是JavaScript语言的一个标准,其实Es6本质就是JavaScript的一个版本,为什么叫E ...

  2. es6 中的let,const

    在es6中,let的作用和var差不多,都是用来声明变量的,但是他们之间的区别在于作用域不同,大家都知道在js中没有块级作用域,例如: for(var i=0;i<10;i++){ consol ...

  3. ES6 中 let 和 const 总结

    目录 let const 1. let要好好用 1. 基本用法 2. let声明的变量不存在变量提升 3. TDZ(temporal dead zone)暂时性死区 4. 不允许重复声明 2. 块级作 ...

  4. (转)ES6系列——let和const深入理解

    原文:https://juejin.im/post/59e6a86d518825422c0cbb6f https://www.cnblogs.com/slly/p/9234797.html-----l ...

  5. ES6中的class类的理解

    传统的javascript中只有对象,没有类的概念.它是基于原型的面向对象语言.原型对象特点就是将自身的属性共享给新对象.这样的写法相对于其它传统面向对象语言来讲,很有一种独树一帜的感脚!非常容易让人 ...

  6. ES6中let、const和var的区别

    一.let 1.基本用法 ES6 新增了let命令,用来声明变量. let 的用法类似于 var,但所声明的变量只在 let 命令所在的代码块内有效(一个“{}”相当于一个代码块) { let a = ...

  7. ES6 中 let and const

    let 和 const 命令 let 命令 基本用法 ES6 新增了let命令,用来声明变量.它的用法类似于var,但是所声明的变量,只在let命令所在的代码块内有效. { let a = 10; v ...

  8. ES6中let与const命令详解

    阮一峰ES6入门 let 作用域 let命令用来声明变量,但声明的变量只在let命令所在的代码块内有效. { let a = 10; var b = 1; } a // ReferenceError: ...

  9. ES6中let和const详解

    let和var一样也是用来定义变量,不同之处在于let是块级作用域,只在所定义的块级作用域中生效,一个花括号便是一个块级作用域 {var a="我是var定义的";let b=&q ...

随机推荐

  1. UGUI ScrollRect 各参数的代码引用以及作用

  2. Kudu版本升级(官网推荐的步骤)(Upgrade from a Previous Version of Kudu)

    不多说,直接上干货! http://kudu.apache.org/docs/installation.html#sles_from_source

  3. Tomcat启动时报错:“ Error starting static Resources”问题解决

    部署测试环境的时候,需要用到Tomcat.故在Linux上部署了Tomcat,并将开发提供的工程包部署到Tomcat的webapps目录下,启动Tomcat,部署成功.第二天修改工程配置文件时,发现w ...

  4. Linux 安装 webmin

    下载webmin的rpm包 yum install webmin-rpm systemctl start webmin 即可

  5. 微信小程序 列表渲染 wx:for

    wx:for控制属性绑定一个数组,即可使用数组中各项的数据重复渲染该组件. wx:for-item指定数组当前元素,或当前项的变量名wx:for-index 指定数组当前下标的变量名 <view ...

  6. Day4上午

    expect100+50+50, In fact 100+10+0. 代码能力还有待提高,部分分应该能拿的.结果...力不从心啊. T1 贪心做的不知对不对. 看来思路是对的,不知道能不能对. 暴力做 ...

  7. Java入门之Tomcat安装及环境变量配置

    一.Tomcat下载 地址:http://tomcat.apache.org/download-80.cgi#8.0.39 本人用的是Tomcat/8.0.37免安装版,解压到一个目录,本人用的是:D ...

  8. Git GUI基本操作

    一.Git GUI基本操作 1.版本库初始化 gitpractise文件夹就变成了Git可以管理的仓库,目录下多了一个.git文件夹,此目录是Git用于管理版本库的,不要擅自改动里面的文件,这样会破坏 ...

  9. 账户密码提示 jq简单事件

    $(".username").focus(function(){ if($(this).val()=="请输入用户名"){ $(this).val(" ...

  10. 简单二级导航JQ事件代码

    $(function()){ $("li").hover(function(){ $(this).children("dl").show() },functio ...