typeof操作符,可以判断一个值的数据类型
假设有一个变量a;那么通过代码typeof a;可以根据代码返回的值来判断变量a的数据类型。
返回不同值的含义:
underfined 未定义
boolean 布尔值
string 字符串
number 数值
object 对象或者null
function 函数
通过numbe()函数,可以把其他的数据类型转换为数字类型
如果是Boolean值,true和false会分别被转换为1 和 0
如果是数字值,只是简单的传入和返回
如果是null值,返回0
如果是underfined,返回NaN
如果是字符串,遵循以下规则:
2.1 如果字符串中只包含数字(包括前面带正号或负号的情况),则将其转换为十进制数值,即“1”会变成1,“123”会变成123,而“011”会变成11(注意:前导的0被忽略了);
2.2 如果字符串中包含有效的浮点格式,如“1.1”,则将其转换为1.1(同样,也会忽略前导0);
2.3 如果字符串中包含有效的十六进制格式,例如“Oxbf”,则将其转换为相同大小的十进制整数值;比如“Oxb”转换为11;
2.4 如果字符串是空的(不包含任何字符),则将其转换为0;
2.5 如果字符串中包含除上述格式之外的字符,则将其转换为NaN;
Number()函数在转换字符串时比较复杂而且不够合理,因此在处理整数的时候更常用的是parseInt()函数。 parseInt()是Number()的一个分支, int是整数的意思。
3.1 parseInt函数转换格式:它会或略字符串前面的空格,直到找到第一个非空字符,parseInt()会继续解析第二个字符,直到解析完所有后续字符或者遇到一个非数字字符。比如“ 123”会转化成123;“123hello”会转换成123
3.2 如果第一个字符不是数字字符或者负号,parseInt()就会返回NaN。比如:“h123”会转换成NaN;“!123”会转换成为NaN;“-123”会转换为-123。
3.3 如果待解析的值是小数或是字符串大头的是小数的话,那么parseInt()的结果会截取整数部分,无论小数部分是多少。比如:“12.3”会转换为12.
数字转化为字符串不能直接用 数字.toString()来实现转化 需要把数字存在一个变量中间, 然后用 变量.toString()实现转化;比如var a=11;a.toString(); 11;
数组转为字符串的方法只需一个个拆分出来研究就好;比如:var b=["hello","word",["hello","world"]]; b.toString();会转换为“hello,world,hello,world,”。
函数转为字符串的结果默认情况下就是直接返回函数的完整代码
对象转为字符串的结果默认情况下就是直接一个标识符号 [object,object]
布尔值转为字符串的结果就是返回相应的字符串;比如:”false“会转换为“false“。
String()函数遵循下列转换规则: 如果值有toString()方法,则调用该方法并返回相应的结 果; 如果值是null,则返回"null"; 如果值是undefined,则返回"undefined"。