javascript复习笔记一(变量类型与计算)

变量类型:分为值类型与引用类型

一、值类型与引用类型

值类型:存储的是具体的值(undefined、Boolean、String、number)

   列如:var a = 100;

             var b = a;   b = 200;

            console.log(a)//打印出:100

因为a存储的是具体的值,b=a其实是用b存储一个100的值,后面又对b进行赋值为200只是更改其只身的值,不会影响a

引用类型:存储的是指向具体值的指针(null、Array、function、Object)

列如:var a = {

                n:100

}

         var b = a;

b.n=200;console.log(a.n)//打印出:200

这是因为a存储的是指向{n:100}这个变量的指针,将a赋值给b,其实就是a、b指向的是同一个变量。而当b.n进行赋值更改的时候,a.n当然也会改变,因为它两指向的是同一个变量值。

注(null是指向空对象的指针。)

二、typeof能够区分那些变量类型?

首先typeof能够区分值变量类型(undefiined、Boolean、number、String),但是如果是用的构造函数创建的变量则用typeof识别的仍为Object

列如:var a = new Number(1) ; typeof a ==="object"

而对于引用类型typeof 只能区分function   其他 Array、Object、null 使用typeof识别返回的都是Object.

你可能感兴趣的:(javascript复习笔记一(变量类型与计算))