JS变量

变量,就是用于引用内存中存储的一个值。

1声明变量

在JavaScript中声明变量的方式有3种: var, let ,const 

const和let的区别在于,

const 所声明的变量如果是简单数据类型,那么是不能够再改变的。

let所声明的变量无论是简单数据类型还是复杂数据类型,在后面是可以改变的。var声明变量:重复声明,遗漏声明,变量提升。

1)重复声明:使用var关键字来声明的变量,允许重复声明的,后面覆盖前面;var test = 3;var test = 5;

 console. log(test);//5

重复声明带有不赋值操作,JS引擎会自动忽略后面的变量声明

var test = 3;var test;

console. log(test);//3

2)遗漏声明:JS允许遗漏声明,即直接对变量赋值而无需事先声明,赋值操作会自动声明该变量a= 5; console. log(a);//5

示例如下:

const声明变量
const name = 'Bill';name = 'Lucy';
//TypeError: Assignment to constant variable.
let声明变量
Let name = 'Bill';name = 'Lucy';
console. log(name);

 

2变量的赋值与初始化

     给变量第一-次赋值的过程,叫做变量的初始化。

     我们也可以一次性初始化多个变量,将其写在- -行里面。let X = 3,y =4,z =5;

      如果声明变量时没有赋予初值,那么默认值为undefined

3作用域

所谓作用域,就是变量在程序中能够被访问到的区域。

1、 全局作用域:在全局作用域的中所声明变量称之为全局变量。全局变量的特点在于变量在任何地方都能被访问。

let a = 5;//这是一个全局变量

2.局部作用域

 只能在这个局部的作用域里面能访问到,外部是访问不到的。

 {leti=10;

console. log(i);//10}

1)在大括号中用var声明的变量不是局部变量,而是一个全局变量。

2)在局部作用域里面,如果变量名和全局作用域里面的变量名冲突,优先使用局部作用域里面的变量。

leti=10;
{let i = 100;
console. log(i);//100}
console. log(i);//10

3)如果在局部作用域里面声明变量时没有书写关键字,那么会声明一个全局变量

Let i=1;

{i=10;}
console. log(i);//10

posted @ 2019-10-08 18:33  熊萬萬  阅读(121)  评论(0编辑  收藏  举报