数据类型、类型转换

ECMAScript:标准、核心

HTML 标签类型:block、inline、inline-block、table……

一、JS中的数据类型:数字、字符串、布尔、函数、对象(obj、[]、{}、null)、未定义

二、typeof 判断数据类型

“undefined” 如果这个值没有定义

“boolean” 如果这个值是布尔值

“string” 如果这个值是字符串

“number” 如果这个值数值

“object” 如果这个值对象或null

“function” 如果这个值函数

例如 var a=123;

         alert(typeof a) //number

三、数值转换

显式类型转换(强制类型转换):一共有三个函数

Number()函数的转换规则

 如果是布尔值,true和false分别被转化为1和0

 如果是数值,只是简单的传入和返回

 如果是null值,返回0

 如果是undefined,返回NAN

l如果是字符串,遵循以下规则

1) 如果字符串中只包含数字(包括前有带有正负号的)都转化为十进制数值[前面第一位如果带零直接忽略]

2) 如果字符串中包含有效的浮点格式,则将其转换为对应的浮点数值[前面第一位如果带零直接忽略]

3) 如果字符串中包含有效的十六进制格式,则将其转化为相同的大小的十进制整数值

4) 如果字符串是空的(不包含任何字符),则将其转换为0

5) 如果字符串中包含除上述格式之外的字符,则将其转化为NaN

parseInt()函数转换规则 只取整数

在转换字符串时,会自动忽略字符串前面的空格,直到找到第一个非空格字符

注意事项:1)如果第一个字符不是数字字符或负号,将会返回NaN

2)如果第一个字符是数字字符或负号,将会继续解析第二个字符直到解析完或者遇到一个非数字字符

parseFloat()函数转换规则

     注意:在字符串中只有第一个小数点是有效的

隐式类型转换:

+ 200 + ‘3‘ 变成字符串

 - * / % ‘200‘ - 3 变成数字

++ -- 变成数字

 > < 数字的比较 、字符串的比较

  ! 取反 把右边的数据类型转成布尔值

猜你喜欢

转载自www.cnblogs.com/tongguilin/p/12208129.html