var const let 区别

var  const   let  区别

今天第一次遇到const定义的变量,查阅了相关资料整理了这篇文章。主要内容是:js中三种定义变量的方式const, var, let的区别。

1. const 定义的变量是不可修改的,而且必须初始化。

1 const b = 2;//正确
2 // const b;//错误,必须初始化
3 console.log(‘函数外const定义b:‘ + b);//有输出值
4 // b = 5;
5 // console.log(‘函数外修改const定义b:‘ + b);//无法输出 

2.var 定义的变量可以修改,如果不初始化会输出undefined ,不会报错。

var a = 1;
// var a;//不会报错
console.log(‘函数外var定义a:‘ + a);//可以输出a=1
function change(){
a = 4;
console.log(‘函数内var定义a:‘ + a);//可以输出a=4
}
change();
console.log(‘函数调用后var定义a为函数内部修改值:‘ + a);//可以输出a=4

3.let  是块级作用域,函数内部使用let 定义后,对函数外部无法影响。

let c = 3;
console.log(‘函数外let定义c:‘ + c);//输出c=3
function change(){
let c = 6;
console.log(‘函数内let定义c:‘ + c);//输出c=6
}
change();
console.log(‘函数调用后let定义c不受函数内部定义影响:‘ + c);//输出c=3

原文地址:https://www.cnblogs.com/yuerdong/p/9198525.html

时间: 2024-10-07 15:16:33

var const let 区别的相关文章

let var const的区别

ES6 新增了let命令,用来声明变量. 一.let (1)但是所声明的变量,只在let命令所在的代码块内有效. <script> { var a=10; let b=1; } console.log(a);//10 console.log(b)//Uncaught ReferenceError: b is not defined </script> (2)let不存在变量提升:它所声明的变量一定要在声明后使用,否则报错.var命令会发生“变量提升”现象,即变量可以在声明之前使用,

var let const 的区别

Var let const 的区别 1.Var 定义的变量存在变量提升,而了let和const不存在变量提升.即在定义的变量代码上使用该变量,var的会输出undefined,而let的会报错. 2.var不存在暂时性死区,而let存在,只要块级作用域内存在let,它所声明的变量就绑定了这个区域,不在受外部的影响 例如:var tem=123: if(true){ tem='abc';   //报错 ReferenceError,因为在if里声明了let,形成了自己的作用域,外部的访问不到,所以

javascript中var、let和const的区别

在javascript中,var.let和const都可以用来声明变量,那么三者有什么区别呢?要回答这个问题,我们可以从先想想:三种不同的声明会影响变量的哪些方面?这些方面也就是变量的特性,那么变量有哪些特呢?无非就是两个:一个是变量的数据类型,是数字,字符串还是数组或者其他的,另一个就是变量的作用域,是全局的还是局部的,又或者是某个代码块的.因此我们可以从以下两个方面来探究三种声明方式的区别: 1.声明后变量的数据类型有什么不同? 2.声明后变量的作用域有什么不同? 先看第一个方面,数据类型有

const char* &amp;p 和 char* const &amp;p 区别

const char* &p 和 char* const &p 两种引用: 两者都是对一个对象的引用. 但是前者的"这个对象"是 const char*,一个指向 const char 的指针,注意!虽 然这个指针指向的char不可以改变,但这个指针本身的值是可以改变的,也就是说, 他可以被改变而指向另一个 const char 对象. 后者的"这个对象"则是char*, 一个指向char的指针.这个指针指向的东西是可以 改变的,但是这个指针本身是不

readonly和const的区别

readonly与const的区别1.const常量在声明的同时必须赋值,readonly在声明时可以不赋值2.readonly只能在声明时或在构造方法中赋值(readonly的成员变量可以根据调用不同的构造方法赋不同的值)3.const前面不能添加static(因为Const本来就是一个静态常量),readonly前面可以添加static4.const在编译的时候赋值,readonly在运行的时候赋值5.const能在方法内声明,readonly不能在方法内声明 class ReadOnlyA

宏定义 #define 和常量 const 的区别

宏定义 #define 和常量 const 的区别 类型和安全检查不同 宏定义是字符替换,没有数据类型的区别,同时这种替换没有类型安全检查,可能产生边际效应等错误: const常量是常量的声明,有类型区别,需要在编译阶段进行类型检查 编译器处理不同 宏定义是一个"编译时"概念,在预处理阶段展开,不能对宏定义进行调试,生命周期结束与编译时期: const常量是一个"运行时"概念,在程序运行使用,类似于一个只读行数据 存储方式不同 宏定义是直接替换,不会分配内存,存储与

var、let、const的区别,已经作用范围。

在es5中一般经常使用的变量有两个级别,一个是用var声明的全局级别的变量,另外一个是函数级别是用var生命在函数内的.本文中将详细讲解我对es6中的const和let的区别. let的使用以及作用范围 let是块级变量,只有在自己声明的内部才会有作用. 'use strict'; { var a = 12; let b = 15; { console.log(a, b)//12 15没有问题的. } } console.log(a,b) //12 defined a是全局变量在哪里输出都没有问

JavaScript中const、var和let区别浅析

在JavaScript中有三种声明变量的方式:var.let.const.下文给大家介绍js中三种定义变量的方式const, var, let的区别. 1.const定义的变量不可以修改,而且必须初始化. const b = 2;//正确 // const b;//错误,必须初始化 console.log('函数外const定义b:' + b);//有输出值 // b = 5; // console.log('函数外修改const定义b:' + b);//无法输出 2.var定义的变量可以修改,

var、let和const的区别

一.前言 在ES6(ES2015)出现之前,JavaScript中声明变量就只有通过 var 关键字,函数声明是通过 function 关键字,而在ES6之后,声明的方式有 var . let . const . function . class ,本文主要讨论 var . let 和 const 之间的区别. 二.var 如果使用关键字 var 声明一个变量,那么这个变量就属于当前的函数作用域,如果声明是发生在任何函数外的顶层声明,那么这个变量就属于全局作用域.举例说明: var a = 1;