- 1、String字符串类型
- 2、Number数值类型
- 3、Boolean类型
- 4、Null(空值)
- 5、Undefined(未定义)
- 6、数据类型转换
- 6.1、将其他类型转换为String字符串类型
- 6.2、将其他类型转换为Number数值类型
- 6.3、将其他类型转换为Boolean类型
数据类型指的就是变量的类型,在JS中一共有六种数据类型:
1、String 字符串
2、Number 数值
3、Boolean 布尔值
4、Null 空值
5、Undefined 未定义
6、Object 对象
- 其中String、Number、Boolean、Null、Undefined属于基本数据类型,而Object属于引用数据类型
1、String字符串类型
- 注意事项:
- 在JS中字符串需要使用引号引起来;
- 使用双引号或单引号都可以,但是不要混着用;
- 引号不能嵌套,双引号不能放双引号,单引号不能放单引号;
声明变量
var str = "hello"
var str1 = '我说:"今天天气真不错!"'
以上声明的两个变量类型都为String字符串类型。
1、在字符串中我们可以使用 \ 作为转义字符;
2、使用typeof检测输出String;
转义字符示例:
\" 表示输出 "
\' 表示输出 '
\n 表示输出一个换行
\t 表示一个制表符
\\ 表示输出 \
2、Number数值类型
- 在JS中所有的数值都是Number类型,包括整数(int)和浮点数(float),也就是小数。
- 1、JS中可以表示的数字的:
最大值:Number.MAX_VALUE: 1.7976931348623157e+308
大于0的最小值:Number.MIN_VALUE : 5e-324 - 2、如果使用Number表示的数字超过了最大值,则会返回Infinity
Infinity:Infinity表示正无穷;
-Infinity:-Infinity表示负无穷;
使用typeof检查Infinity也会返回number。 - 3、NaN 是一个特殊的数字,表示Not A Number,使用typeof检查一个NaN也会返回number。
声明变量
var num = 123
var nbr =Infinity
var nmb = NaN
以上所声明变量都为Number数值类型
1、使用JS进行整数的运算基本可以保证其正确性;
2、如果使用JS进行浮点运算,可能得到一个不精确的结果;
3、使用typeof检测输出Number;
3、Boolean类型
布尔值只有两个,主要用来做逻辑判断:
1、true :- 表示真;
2、false:- 表示假。
var bool = false;
console.log(typeof bool);
使用typeof检查一个布尔值时,会返回boolean
4、Null(空值)
Null类型的值只有一个,就是null
- null这个值专门用来表示一个为空的对象
var a = null;
console.log(typeof a);
使用typeof检查一个null值时,会返回object;
5、Undefined(未定义)
Undefined类型的值只有一个,就undefind
- 当声明一个变量,但是并不给变量赋值时,它的值就是undefined
var b = undefined;
console.log(typeof b);
使用typeof检查一个undefined时也会返回undefined
6、数据类型转换
强制转换:将一个数据类型强制转换为另一个数据类型。
6.1、将其他类型转换为String字符串类型
两种方式方法:1、tostring()方法;2、String()函数
tostring()方法: 不会影响到原变量,它会将转换的结果返回,所以应该有一个变量去保存返回的结果;
var a = 123;
a = a.toString();
a = true;
a = a.toString();
a = null;
//a = a.toString(); //会报错
a = undefined;
//a = a.toString(); //会报错
注:null和undefined这两个值没有toString()方法,如果调用他们的方法,会报错
String()函数: 调用String()函数,并将被转换的数据作为参数传递给函数使用String()函数。做强制类型转换时,对于Number和Boolean实际上就是调用的toString()方法,但是对于null和undefined,就不会调用toString()方法,它会将 null 直接转换为 “null”,将 undefined 直接转换为 “undefined”。
a = 123;
//调用String()函数,来将a转换为字符串
a = String(a);
a = null;
a = String(a);
a = undefined;
a = String(a);
console.log(typeof a);
console.log(a);
6.2、将其他类型转换为Number数值类型
三种转换方式:1、Number()函数;2、parseInt()函数;3、parseFloat()函数。
Number()函数: 字符串 —> 数字
- 1、如果是纯数字的字符串,则直接将其转换为数字;
- 2、如果字符串中有非数字的内容,则转换为NaN;
- 3、如果字符串是一个空串或者是一个全是空格的字符串,则转换为0。
var a = "123";
//调用Number()函数来将a转换为Number类型
a = Number(a);
console.log(typeof a);
console.log(a);
Number()函数: 布尔 —> 数字
- 1、true 转成 1
- 2、false 转成 0
a = false;
//调用Number()函数来将a转换为Number类型
a = Number(a);
console.log(typeof a);
console.log(a);
Number()函数: null —> 数字 0
a = null;
//调用Number()函数来将a转换为Number类型
a = Number(a);
console.log(typeof a);
console.log(a);
Number()函数: undefined—> 数字 NaN
a = undefined;
//调用Number()函数来将a转换为Number类型
a = Number(a);
console.log(typeof a);
console.log(a);
parseInt()函数: 把一个字符串转中有效数字取出来之后换为一个整数,parseInt()函数可以有两个值,第一个参数为需要转换的内容,第二个值为将数值准备转换的进制。
a = "124px";
//调用parseInt()函数来将a转换为Number类型
a = parseInt(a,10); //转换为十进制的数据类型
console.log(typeof a);
console.log(a);
parseFloat()函数: 可以获取一个字符串中有效小数取出来之后换为一个小数
a = "123.456.789px";
//调用parseFloat()函数来将a转换为Number类型
a = parseFloat(a);
console.log(typeof a);
console.log(a);
如果对非String使用parseInt()或parseFloat(),它会先将其转换为String然后在操作
a = true;
a = parseInt(a);
console.log(typeof a);
console.log(a);
以上输出结果为NaN
6.3、将其他类型转换为Boolean类型
只有一种转换方式:Boolean()函数
- 1、数字 —> 布尔:除了0和NaN,其余的都是true;
var a = 123; //true
a = -123; //true
a = 0; //false
a = Infinity; //true
a = NaN; //false
a=Boolean(a)
console.log(typeof a);
console.log(a);
- 2、字符串 —> 布尔:除了空字符串,其余的都是true
var a = "";
a=Boolean(a)
console.log(typeof a);
console.log(a);
- 3、null和undefined —> 布尔:都会转换为false
var a =null;
a=Boolean(a)
console.log(typeof a);
console.log(a);
- 4、对象—> 布尔:会转换为true
var a ={};
a=Boolean(a)
console.log(typeof a);
console.log(a);