变量和常量的声明
- 首先,变量的存在是为了存储数据。变量及常量的声明方式:
一、var 声明变量:
1.变量提升到当前作用域最顶端。
2.仅声明变量不赋值时,变量值初始化为undefined;因此在声明语句前面可以打印变量的值为undefined。
3.当赋值给未声明的变量, 则执行赋值后, 该变量会被隐式地创建为全局变量(它将成为全局对象的属性)。
4.声明多个变量,可以用英文逗号分隔,上述c由var关键字声明,而变量d未声明。
b=6//变量未声明,会造成全局污染
console.log(a);//underfined
var a=10;
var b=1,c=d=5;
console.log(window.a);//10
二、let 声明变量:声明一个块级作用域的本地变量
1.let 声明不会在全局声明时(在最顶部的范围)创建window 对象的属性。
2.let 声明的变量只在其声明的块或子块中可用,这一点,与var相似。二者之间最主要的区别在于var声明的变量的作用域是整个封闭函数。
{
let aa=10;
console.log(aa);//10
console.log(Window.aa);//underfined
var a=10;
}
console.log(a