Js数据类型

2017-03-01  本文已影响21人  _undefined
Js有2种类型的值,分别是原始类型值和引用类型值。
原始类型

原始类型值(基础数据类型)有5种,分别是:
Undefined、Null、Boolean、Number、String。

原始类型值储存在栈(stack)内存中,大小固定,可以直接访问。

引用类型值(类对象Object)

引用类型值储存在堆(heap)内存中,大小不固定,存储在变量处的值是一个指针(point),指向存储对象的内存处。(抄的,还是不太理解)

Undefined

Undefined只有一个值,既undefined。在声明变量但未初始化时,这个变量的值就是undefined。如:

  var a;
  alert(a); => undefind
  
  // var b;
  alert(b); => 报错

当声明一个变量为初始化,输出的值为undefined,但如果直接输出一个未声明的值就会报错。不管声明未初始化和未声明,它们的值类型用typeof检测都是undefined,两者不矛盾。如:

  var a;
  // var b;
  Boolean(typeof a === typeof b); => true
Null

Null也只有一个值,既null。
从技术角度来看,null值表示一个空对象指针。所以,用typeof检测数据类型为“object”。
如果声明变量用于保存对象,最好初始化为null。
undefined值是null的派生值。

  Boolean(undefined == null); // => true
  Boolean(undefined === null); // => false
Boolean

Js中使用最多的一种类型,有两个值 true 和 false 。
所有类型的值都与Boolean值有等价值。可用Boolean()函数转换。

数据类型 true值 false值
Boolean true fasle
String 任何非空字符串 ""(空字符串)
Number 任何非零数字值(包括无穷大) 0和NaN
Object 任何对象 null
Undefined n/a undefined

控制语句(如if)会把数据值隐式转换为Boolean值。如:

  if("字符串"){
    console.log(true);
  }
Number

Number类型使用IEEE754格式表示整数和浮点数值。
三种字面量格式:十进制、八进制、十六进制。

上一篇 下一篇

猜你喜欢

热点阅读