var,let,const声明变量?

var 与 let 的区别?

1.var支持变量预检测,let不支持

     console.log(a); // undefined 程序不会报错
    var a = 1;
    console.log(b); //程序报错  b is not defined
    let b = 2;
2.let 不支持重复声明
var a = 1;
    var a = 10;
    console.log(a); // 10

    let b = 2;
    let b = 200;
    console.log(b); //程序报错 Identifier ‘b‘ has already been declared  变量已经被声明了
3.let 支持块级作用域
{
    var a = 100;
}
    console.log(a); // 100
{
    let b = 200;
}
    console.log(b); //程序报错  b is not defined 

const 声明常量,声明后不可被重新赋值。

    const c = 3.14;
    const c = 3.15; ////程序报错 Identifier ‘c‘ has already been declared  变量已经被声明了
    console.log(c);

const  与 let 基本一致,但是也有区别。

1. const在声明的时候必须给初始化值,否则会报错

2. const声明的常量不可被再次修改

const 在声明常量的时候,有些情况是可以修改的

    const obj = {};
    obj.name = ‘我是1‘;
    console.log(obj);
    obj.name = ‘我是2‘;
    console.log(obj);

在这里不能修改obj这个对象,但是可以对对象里面的值进行修改。

原文地址:https://www.cnblogs.com/qiuchuanji/p/9665282.html

时间: 2024-10-13 08:17:47

var,let,const声明变量?的相关文章

let var 和const声明变量,之间的区别是什么

let 和 const 是es6 新出来的语法 1,let 是块级作用域,函数内部使用let 定义后,对函数外部无影响,如果不初始化输出的话,会报语法错误 1 let c = 3; 2 console.log('函数外let定义c:' + c);//输出c=3 3 function change(){ 4 let c = 6; 5 console.log('函数内let定义c:' + c);//输出c=6 6 } 7 change(); 8 console.log('函数调用后let定义c不受函

关于react const声明变量引用this.state,然后setState不刷新问题

mdzz..const声明的变量保持原引用. this.setState会发现引用没有改变更改内部属性不会触发更新. let picList: any = this.state.resumeImages; picList = JSON.parse(JSON.stringify(picList)) if (picList[index]) { picList[index].src = key; } else { picList.push({ src: key }) } this.setState({

为什么JavaScript声明变量的时候鼓励加var关键字

在JavaScript中,var用来声明变量,但是这个语法并不严格要求,很多时修改,我们可以直接使用一个变量而不用var声明它. [javascript] view plaincopyprint? var x = "XX"; y ="xxx"; var x = "XX"; y ="xxx"; 诸如此类.这有一个问题,比如说在代码中的某一行,我想使用的一个已声明的变量x,结果由于打字或者拼写错误,这个变量被写成y了,结果相当于“

var/let/const区别何在??

原文地址:http://www.cnblogs.com/liuhe688/p/5845561.html let和const有很多相似之处,先说一说let吧. 1. let添加了块级作用域 我们知道,JavaScript是没有块级作用域的,如果在块内使用var声明一个变量,它在代码块外面仍旧是可见的: if (true) { var foo = 3; } console.log(foo); // 3 for (var i = 0; i < 9; i++) { var j = i; } consol

var、const、let 的区别

定义变量的三种方式 var.const.let 都可以用来定义变量,但三者之间存在区别. var var 声明变量的时候无需初始化. var 声明的变量可在后面进行修改. var 声明的全局变量可以被函数修改. <!DOCTYPE html> <html> <head> <title></title> </head> <body> <script type="text/javascript">

es6 - 一共有 6 种声明变量的方法(var, function, let, const, class, import)

let声明的变量只在它所在的代码块有效. 不存在变量提升 let不允许在相同作用域内,重复声明同一个变量 暂时性死区,只要块级作用域内存在let命令,它所声明的变量就“绑定”(binding)这个区域,不再受外部的影响, 定义之前不能使用. 应该避免在块级作用域内声明函数.如果确实需要,也应该写成函数表达式,而不是函数声明语句. for循环的计数器,就很合适使用let命令. for (let i = 0; i < 10; i++) {let i = 'abc';} // 变量i是let声明的,当

ES6和ES5变量声明的区别(var let const)

// es5的语法与es6的语法区别 // var let const console.log(name);//undefine,不会报错,因为变量声明会提到作用域的最前面 var name="aa"; for(var i=1;i<7;i++){ console.log(i); } console.log(i);//8,不会报错因为var声明的变量没有块级作用域 /** * 总结 var 声明的变量,声明语句会提到作用域的最前面,并且没有块级作用域 */ console.log(

2-新的变量声明方式(var ,let,const)

以前我们在声明时只有一种方法,就是使用var来进行声明,ES6对声明的进行了扩展,现在可以有三种声明方式了. 字面理解ES6的三种声明方式: var:它是variable的简写,可以理解成变量的意思. let:它在英文中是“让”的意思,也可以理解为一种声明的意思. const:它在英文中也是常量的意思,在ES6也是用来声明常量的,常量你可以简单理解为不变的量 --var声明---- var在ES6里是用来升级全局变量的,我们可以先作一个最简单的实例,用var声明一个变量a,然后用console.

javascript精雕细琢(一):var let const function声明的区别

目录 引言 一.var 二.let 三.const 四.function 五.总结 引言 在学习javascript的过程中,变量是无时无刻不在使用的.那么相对应的,变量声明方法也如是.变量是由自己决定,但变量声明方法是早已经定义好的.那么在使用变量之前,了解变量声明方法,就变得尤为重要.在ES6推出之前,最常用的声明变量方法就是var.但是由于var自身的缺陷,ES6推出了let和const替代var.虽然修正了var的缺陷,但不能改变的,是之前已经用var写了多少年的项目,这些项目是无法随着