html有标签类型:
block inline inline-block table list
不同类型显示效果不同
同样JS也有数据类型(ECMAScript定义的JavaScript的核心标准)
数字 number var i = 0;
字符串 string var str = 'im string';
布尔 boolean var b = true;
函数 function var fn1 = function() {};
对象 object
数组 var arrayS = [];
json var aJson = {};
元素 var oDiv = document.getElementsByTagName('div')[0];
null var nullobj = null;
未定义 undefined var a; / var a = undefined;
null object var nullobj = null;
获取数据类型:typeof
数据类型转换:
1.强制类型转换
Number();
可以转换纯数字的字符串,不可以转换不是纯数字的字符串,否则会出现NaN,支持小数
parseInt();
可以转换不是纯数字的字符串,从第0位开始的一直读取到不是数字(包括小数点)为止的地方截取并转换为数字,不支持小数
但是如果第0位开始就不是数字的,就会出现NaN
parseFloat();
可以转换不是纯数字的字符串,从第0位开始的一直读取到不是数字的位置或者后面都是0的那一串的第一个0的位置为止的地方截取并转换为数字,支持小数
但是如果第0位开始就不是数字的,就会出现NaN
NaN ( Not a Number )
其他数据类型转换为数字类型错误时,或者运算出问题,结果就会是一个不是数字的数字类型
2.隐式类型转换
隐式类型转换最直观的一个例子:
字符串 + 数值 = 字符串
加号把数值隐式转换为字符串类型,包括对象等数据类型都会被转换隐式转换为字符串
字符串 - 数值 = 数值
减号把字符串隐式转换成数值类型,支持整数、小数,但是如果字符串不是纯数字,那么就会变成NaN类型,但是NaN类型也是Number类型,也属于隐式转化了类型
(Tips:包括 * / % -- ++ > < 操作,都会隐式转换为Number类型)
!取反操作,会把右边的数据转换为布尔值
当字符串和字符串进行比较的时候,会逐个比较
==仅判断值是否相等,如果字符串和数值做判等,那么字符串会隐式转成数值做比较
===不仅判断值,还判断类型是否相等
网友评论