js中----变量

284 阅读2分钟

变量是由两部分构成的:

变量名称:一般来说 ,赋值符号的左边的就是变量名

变量的值:一般来说,赋值符号的右边就是变量的值。

声明变量

在js中,使用var关键字来声明一个变量

方式:

1.单独声明:一次声明一个变量,每一个变量都需要使用var

如:var a =1;

       var b =2

2. 一次性声明多个:中间用逗号隔开。

var x=100,y=200,z=300;

3. 重复声明:如果有赋值,后面的值是变量的最终的值。

  var a="小明"

  var a="小强"

4. 遗漏声明:没有var  同时在前面的代码中也没有声明过。

     a="js"


全局变量和局部变量。

全局和局部的分界点是:函数。

全局的在函数内部和外部都可以访问,但是局部的只能在函数内部访问。

总是使用var来声明一个变量 

变量要先声明后使用。

数据类型:

    针对不同的数据,分配不同的内存空间---->为了合理使用内存空间。

     1.基本数据类型:(栈区)

             number  ,string,boolean,undefined,null

      2. 引用数据类型:(堆区)

          object(array,function)



JS代码的解析与执行:

 1,代码块可以有多个,上面的代码块不能使用下面的代码块中的数据,下面代码块可以使用上面代码块中的数据。 

 2,预编译,在Js代码真正执行这前有一个预编译的过程 

                    提升: 提升变量: 提升代码块的最前面 

                    提升函数: 

 执行: 

 3,变量提升 var变量可以提升,没有var的变量是不会提升的 循环变量也可以提升 函数内部加var的变量也会提升,提升到了函数内部的最前面 

 4,提升函数 函数声明也会提升,提升到代码块的最前面 函数表达式不会提升,原因函数表达式本质是一个变量

ES6中对定义变量的扩展,使用let  const

let  :

与var类似,用来定义变量

区别:

  • 块级作用域。
  • let没有变量提升的现象
  • 不会成为window对象的属性
  • 暂时性死区(TDZ)
  • 不能重复声明

const:

  声明常量,值不能改变。

特点:

  • 定义完后,不能修改值(基本数据类型,也可能是地址)
  • 不能重复声明
  • 没有提升
  • 声明时必须赋值