javascript之一数据类型

数据类型

数据类型分为两大类:基本数据类型和复杂数据类型

基本数据类型:number string boolean undefined null
复杂数据类型:object

1. number

该数据类型包含整点型和浮点型,还有NaN(not a number),顾名思义,它代表的意思是返回的不是一个数字

看下面的例子

var b='aaa';
console.log(parseInt(b))   //结果为NaN
console.log(Number(b))   //结果为NaN

var c='123aaa'
console.log(parseInt(c))   //结果为123
console.log(Number(c))   //结果为NaN

这里需要了解一下parseInt和Number的转换原理

parseInt:将字符串转换为数字,直接截取小数点前面的整数,不会四舍五入
原理:从左到右一个个去解析,当不是数字的时候就停止解析,如123aaa会解析为123,类型为number,但是如果aaa123,解析后会是NaN,但数据类型依然是number。

Number:把字符串转换为数字number,可以保留一个小数点,先获取整个要转换的内容,再进行解析,如果不是数字则不进行解析,如123aaa,转换后的数据类型是number,但是转换结果为NaN。

parsefloat:把字符串转换为浮点number,如123.11,转换后的结果为123.11的number类型。

注意:
NaN有关的运算符操作,结果也是NaN,NaN和任何数都不相等,页包括它自己。

console.log(typeof NaN); //number

console.log(NaN == NaN); //false

2. undefined

这个数据类型只有一个值,就是undefined,它是在定义var了一个变量之后没有对其初始化的结果,即没有给变量赋值。

var  b;

console.log(b) // 结果为undefined

3. boolean

这个类型有两个值,true和false,1和true相等,0和false相等,当时不全等,即类型不相同

var a='1';
var b=true;

 console.log(a==b)  //true
 console.log(a===b)  //false

 var c='0';
 var d=false;
 console.log(c==d) //true
 console.log(c===d) //false

可以利用Boolean()将其他类型的数据转换为boolean类型。

 var c='123sss';
 console.log(Boolean(c)) // true
 var d=123;
 console.log(Boolean(d)) // true

转换的规则如下:

这里写图片描述

4. string

这个类型的数据都是字符串,字符串可以由单引号(‘)或双引号(“)表示

可以通过String()和toString()方法将其他类型的数据转换为字符串。

var a=123;
console.log(a.toString()) //123

var b=undefined;
console.log(b.toString()) //报错

var c=null;
console.log(c.toString()) //报错

注意undefined和null不能用toString()方法,浏览器会报错。

5. null

null表示的是一个空指针对象,用type检查null的数据类型时,值为object。所以当你要判断一个变量是否为对象时,它可能是null。

console.log(typeof null)  //object

注意:undefined值是派生自null值,所以ECMA规定他们的值相等,但是类型不相同。

console.log(undefined == null); // true
console.log(undefined===null)  //false

猜你喜欢

转载自blog.csdn.net/weixin_41726565/article/details/81942680