一.如何判断变量数据类型
-
js数据类型的检测,使用typeof(变量/数据),执行结果是变量中储存数据的数据类型。
*布尔类型的执行结果是 boolean
var bool1 = true;
console.log( typeof(bool1) );
-
字符串类型的执行结果是 string
var str1 = ‘北京’;
console.log( typeof(str1) ); -
undefined 执行结果 undefined
console.log( typeof(undefined) ); -
null 执行结果 object
console.log( typeof(null) );
二,数据类型的自动转换*
a.其他类型转化为布尔类型:在执行if 判断时,其他数据类型会自动转化为布尔类型。
a)原则:转化为false的有: 0 ‘ ’ undefined null NaN
b)其他所有都是转化为true
B.其他类型转化为字符串:在执行字符串拼接时,会将其他数据类型转化为字符串类型。
转化原则:
布尔值 true —> 字符串 ‘true’
布尔值 false —> 字符串 ‘fasle’
undefined —> 字符串 ‘undefined’
unll —> 字符串 ‘null’
数值 —> 将数值解析转化为 对应的 纯数字的字符串
三个特殊的转化:
数组 —> 将 [] 中的内容,转化为字符串的形式,进行拼接
对象 —> 任何对象,任何内容,都会转化为 [object Object] 固定的内容形式
函数 —> 将所有的程序代码,转化为字符串
C.其他类型自动转化为数值
1.在执行运算时会触发数据类型的自动转换。
转化原则:
布尔类型:true 会转换为1
False会转换为0
Undefined:转换为NaN
Unll:转换为0
字符串:如果纯数字或者科学计数法的先转成对应的数值,再运算。
如果有不符合数字规范的内容就会转化为NaN
数组,对象,函数:
如果是加号,执行的是字符串拼接效果
如果是其他形式的运算,执行结果都是NaN
三,强制转换:
a. 其他类型强制转换为,布尔类型
a)Boolean(数据/变量 ) 转化原则与自动转换相同。
false : 0 ‘’ undefined null NaN
true : 其他数据,都转化为true
这种方法不会改变变量中储存的原始数值。
console.log( Boolean(int) );
B.其他类型强制转换为,字符串类型
1.变量 .toString( 进制类型) 进制取值2-36
将变量中的数值按照进制转化,并以字符串的形式输出
2.String( 变量 / 数据 )
console.log( String(变量/数据) );
C.将其他类型强制转换为,数值类型
1.Number(变量/数值) 原理与自动转换相同
2.parseInt(变量/数据):获取变量或者数据的整数部分,碰到不是整数内容时就不获取了,
贝尔类型,null,undefined,对数,函数—>转化都是NaN
数组:获取第一个单元的整数部分,如果有就获取,没有就是NaN
字符串:纯数字和浮点数的字符串会获取整数部分。科学计数法获取e之前的整数部分,带有不符合数值规范的内容,获取从左起,符合整数规范的部分
3.parseFloat(变量/数值)获取整数浮点数,特点跟上面差不多。
科学计数法会解析成浮点数再来获取结果。
逆战班