JavaScript-数据类型

数据类型判定:

typeof操作符:

  • "undefined"-值未定义。
  • "boolean"-布尔值。
  • "string"-字符串。
  • "number"-数值。
  • "object"-对象或null。
  • "function"-函数。
 1 var boo = true;
 2 var str = "";
 3 var int = 3;
 4 var obj = {};
 5 var fun = function(){
 6     
 7 };
 8 alert(typeof a);//undefined
 9 alert(typeof boo);//boolean
10 alert(typeof str);//string
11 alert(typeof int);//number
12 alert(typeof obj);//object
13 alert(typeof fun);//function

typeof操作符的操作数可以是变量,也可以是数值字面量;typeof null会返回"object",特殊值null被认为是一个空的对象引用。

Undefined类型:

  Undefined类型只有一个值,即undefined。在使用var声明变量但未对其加以初始化时,这个变量的值就是undefined。该类型用于区分空对象指针与未经初始化的变量。对于尚未声明的变量执行typeof操作符后会返回undefined,尚未声明的变量只能使用typeof和delete进行操作。

Null类型:

  Null类型只有一个值,即null。null值表示一个空对象指针。如果定义的变量准备在将来用于保存对象,那么最好将该变量初始化为null。undefined值是派生自null值的,因此null==undefined返回true。 

Boolean类型:

  Boolean类型只有两个字面值:true和false。所有的数据类型都有鱼这两个值等价的值。

数据类型 转换为true的值 转换为false的值
Undefined - undefined
Object 任何对象 null
Boolean true false
String 任何非空字符串 空字符串
Number 任何非零数字值 0和NaN

Number类型:

  Number类型使用IEEE754格式表示整数和浮点数,可以使用八进制(0开头)、十进制、十六进制(0x开头)及科学计数法字面值。

  浮点数值计算由于其精度问题,会产生舍入误差。

  如果某次计算的结果得到了一个超过JavaScript数值范围的值,这个数值将会被自动转换为Infinity(或-Infinity)值。

  使用isFinite()方法可以判断参数是否位于最小与最大数值之间。

  Number.NEGATIVE_INFINITYNumber.POSITIVE_INFINITY存储正负Infinity值。

  NaN,非数值,用于表示一个要返回数值的操作数未返回数值的情况。任何涉及NaN的操作都会返回NaN;NaN与任何值都不相等,包括NaN本身。

  使用isNaN()方法确定参数是否不是数值。在进行判断的过程中,该方法会尝试将参数转换为数值。isNaN()方法适用于对象。

  使用Number()parseInt()parseFloat()方法可以将其他类型的值转换为数值。

  Number()转换逻辑:

数据类型 转换前值 转换后值
Undefined undefined NaN
Null null 0
Boolean true 1
false 0
Number n n
Object object

isNaN(valueOf(object)) ? toString(object) : valuef(object)

String "" 0
"+(-)n" +(-)n
"0xf" 15
"other" NaN

   

  parseInt()转换逻辑:

 

你可能感兴趣的:(JavaScript-数据类型)