声明变量

简介

js声明变量有3个关键字letconstvar。其中letconst和其他语言比较一直,都是块级作用域,var属于函数作用域,而且还具有变量提升这种其他语言少见的特性。

const

const声明一个常量,与其他语言一致,不允许对常量赋值。

let

let 声明一个块级作用域变量

// myLetVariable 在这里 *不能* 被引用

for (let myLetVariable = 0; myLetVariable < 5; myLetVariable++) {
  // myLetVariable 只能在这里引用
}

// myLetVariable 在这里 *不能* 被引用

var

使用var声明的变量在它所在的整个函数都是可见的。

// myVarVariable在这里 *能* 被引用

for (var myVarVariable = 0; myVarVariable < 5; myVarVariable++) {
  // myVarVariable 整个函数中都能被引用
}

// myVarVariable 在这里 *能* 被引用

变量提升

var关键字声明的变量,无论实际声明的位置在何处,都会被视为声明在函数的顶部(如果声明不在任意函数内,则视为在全局作用域的顶部)

console.log(a);     //undefined
var a = 1;
console.log(a);    // 1

相当于

     var a ;
     console.log(a);
     a = 1;
     console.log(a);
posted @ 2020-12-22 14:18  ccbbzz  阅读(82)  评论(0编辑  收藏  举报