首页 > 编程语言 > 详细

JavaScript学习记录

时间:2021-05-13 09:55:05      阅读:17      评论:0      收藏:0      [点我收藏+]

var和letconst的区别与用法

1.使用var声明的变量,其作用域为该语句所在的函数内,且存在变量提升现象,可以修改,如果不初始化会输出undefined,不会报错。

var  x = 10;
// 这里x为10
{  
  var x = 2;
  // 这里x为2
}
// 这里x为 2
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

2.let是块级作用域,使用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
{ 
  let x = 10;
}
// 此处不可以使用 x

3.使用const声明的是常量,在后面出现的代码中不能再修改该常量的值,而且在定义时必须初始化

const a=1;//正确
const b;//错误,必须进行初始化
a=2;//错误,不允许修改

4.其他情况

在相同的作用域,或在相同的块中,通过 let 重新声明一个 var 变量是不允许的:

var x = 10;       // 允许
let x = 6;       // 不允许

{
  var x = 10;   // 允许
  let x = 6;   // 不允许
}

在相同的作用域,或在相同的块中,通过 let 重新声明一个 let 变量是不允许的:

let x = 10;       // 允许
let x = 6;       // 不允许

{
  let x = 10;   // 允许
  let x = 6;   // 不允许
}

在相同的作用域,或在相同的块中,通过 var 重新声明一个 let 变量是不允许的:

let x = 10;       // 允许
var x = 6;       // 不允许

{
  let x = 10;   // 允许
  var x = 6;   // 不允许
}

在不同的作用域或块中,通过 let 重新声明变量是允许的:

let x = 6;       // 允许

{
  let x = 7;   // 允许
}

{
  let x = 8;   // 允许
}

 

JavaScript学习记录

原文:https://www.cnblogs.com/bxzen/p/14763119.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!