javascript之var、 let、 const区别

一、var和let都是javascript声明变量的关键字,let是新增的语法,那么他们有什么不同之处呢?

1、不同之处在于,var关键字没有块级作用域,let声明的变量有块级作用域,什么叫块级作用域呢?,就是{}如:  

if(true){
   var name="zhangsan";   
}
console.log(name);
//可以访问name变量,zhangsan

if(true){
   let name="zhangsan";
  console.log(name);//"zhangsan"
} console.log(name); //不可以访问name变量,"name" is not defined

2、用var可以重复声明变量,重复的变量会把之前的变量覆盖,而let不能重复声明变量,如果let声明之前已有的变量名就会报错,如:

//var 

var a=2;

var a=3;

console.log(a);//3

//let

let a=4;//Uncaught SyntaxError: Identifier 'a' has already been declared

 

二、const 是新增的语法,用来声明常量,变量和常量有什么区别呢? 顾名思义就是变量时可以改变,常量是声明后不能改变;

  ps:声明常量的名称一般用大写

  

const NAME="ZHANGSHAN";
//声明后 NAME不能改变;

NAME=“呵呵”;//Uncaught TypeError: Assignment to constant variable.

//也不用重新声明
const NAME=“hello”;//Uncaught SyntaxError: Invalid or unexpected token

//但是const 声明对象是,是可以改变对象内的属性值

const API={a:"1"};

API.a=2;

console.log(API.A);//2

 

 

  

posted on 2017-06-28 15:44  ∽足迹∽  阅读(168)  评论(0)    收藏  举报

导航