JS数据类型及转换
一、数据类型
JS中有6种数据类型,5种基本数据类型,1种引用数据类型
1.基本数据类型
undefined:未定义的
1.var a; //a的值为undefined 数据类型为undefined
2.var a=undefined; //值和数据类型都为undefined
3.对于未定义的变量,数据类型也为undefined
null:空引用数据类型
即将指向一个引用数据类型,但此时未指向
var a=null; //console.log(a);--->null
***undefined派生自null
undefined==null : true
number:所有数据类型均为number类型
NaN :not a number (NaN属于number类型)
例:var a="hello"/5 //console.log(a)-->输出值为NaN
//console.log(typeof a);-->输出为number
isNaN(a) :判断当前a变量是不是 不是一个数
infinity :无穷
var a=10/0; //正无穷
var b=-10/0; //-infinity 负无穷
isFinite(a):返回a变量是否为一个无穷大的数
true:不是一个无穷数
false:是一个无穷数
string:在JS中所有加了双引号/单引号的
‘’ :保留用户输入的格式,做字符串拼接
var tr=`<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>`;
console.log(tr);
boolean:true false
2.引用数据类型(复杂数据类型)
object:
function array math date…
属性/方法
constructor:构造者
toString:将实例对象转化为字符串 [object object]
function的toString()返回为:function:Function(){}
valueOf():将实例对象值打印
二、数据类型转换
null 和 undefined 不需要进行转换(即其他不需要向null 和 undefined 转换)
1.Number
*–>number类型
1.1Number()
1.2praseInt()
1.3parseFloat()
例子:
10.7–>10.7,10,10.7
null -->0,NaN,NaN
undefined—>NaN,NaN,NaN
true -->1,NaN,NaN
false -->0,NaN,NaN
“” -->0,NaN,NaN
“hello” -->NaN,NaN,NaN
“10” --> 10,10,10
“10+1” -->NaN,10,10
“+10.2” -->10.2 (有+时,解析为数字;有其他符号时为NaN),10,10.2
010 -->8,8,8
2.Boolean
*–>boolean类型
2.1 !!a
2.2 Boolean()
例:
null -->false
undefined -->false
number :
0 -->false
非0 -->ture
string :
“” -->false
“hello” -->ture
3.String
*–>string类型
3.1 String():直接在变量值外添加引号
3.2 toString()
3.3 a+" "
三、检测数据类型
typeof(a) 或typeof a :检测js中的数据类型
typeof返回值的数据类型为string
返回值为当前变量的数据类型:
undefined
object(null+object)
number
string
boolean
function(object–>function)