【懿瑾】JS的学习笔记②-数据类型

45 阅读3分钟

2.数据类型

2.1 6种数据类型

  1. String 字符串

单引号双引号都可以,注意嵌套问题,可以使用“\”转义

\n 换行 \t 水平制表符

  1. Number 数值

变量只用在声明的时候用写var

包括整数和浮点数

JS中能表示最大的数值:Number.MAX_VALUE

如果超过最大值,则会返回正无穷:Infinity,是一个字面量,类型是Number。

-Infinity 表示负无穷

对应的还有最小值:Number.MIN_VALUE,大于0的最小值。

NaN是一个特殊的数字:Not A Number,类型是Number。

使用浮点数进行计算,有可能得到一个不精确的结果,不要使用JS进行精度要求比较高的运算。

  1. Boolean 布尔值

true 和 false

  1. Null 空值

只有一个值:NULL,专门表示空对象;用typeof检查会返回Object

  1. Undefind 未定义

只有一个值:Undefind,声明一个变量不赋值时,它的值就是Undefind。

  1. Object 对象

前5种为基本数据类型,Object为引用数据类型

  • 检查变量数据类型:typeof
 //typeof 变量名
 Console.log(typeof 变量名);

返回的是数据类型的字符串表达

  • 判断对象的具体类型:instanceof

    语法: 要判断的对象(A) instanceof 要判断的类型(B)

    判断A是不是B的实例,B是构造函数

    也可以用全等来判断一下数据类型“===”

2.2强制类型转换

主要是指,将其他数据类型转换成String,Number,Boolean。

2.2.1 将其他数据类型转换为String

方式一:

调用被转换类型的toString()方法;

 let a = 123;
 a.toString();

该方法不会影响到原变量,它会将转换的结果返回

但是注意,null和undefined这两个值没有toStrin()方法

方式二:

调用String()函数,将被转换的数据作为参数传递给函数

使用String()函数做强制类型转换

 a = 456;
 a = String(a);

对于Number和Boolean实际上就是调用的toString()方法

但是对于null和undefined,就不会调用toString()方法,返回的就是字符串类型的null和undefined

2.2.2 将其他数据类型转换为Number

方式一:

调用Number()函数:字符串Number

 let a = "122";
 a = Number(a);

注意:

如果是纯数字的字符串,则直接转换成对应的数字

如果字符串中含有非数字的内容,则转换为NaN

True : 1

flase : 0

Null : 0

undefined: NaN

方式二:

调用parseInt()函数取整数

 let a = "122px";
 a = parseInt(a);

从左向右依次读取,到第一个不是数字的字符为止,把数字提取出来。

调用parseFloat()函数取浮点数

 let a = "122.34px";
 a = parseFloat(a);

如果对非String使用parseInt()和parsrFloat(),它会先将其转换为String再操作

0x开头是16进制数字

0开头的是8进制数字

0b开头是2进制数字

parseInt()可以加入第二个参数:parseInt(对象,几进制)

来指定浏览器使用哪种进制进行转换

2.2.3 将其他数据类型转换为Boolean

  1. 数字转布尔:

    除了0和NaN其他都是true

  1. 字符串转布尔:

    除了空串,其他的都是true. //空格不是空串

  1. Null转布尔是false

    undefined转布尔是false