目录
数据类型
JavaScript中的数据类型如下表:
数据类型 | 数据值 | |
string | 字符串 | 基本数据类型 |
number | 数字 | |
null | 空值 | |
undefined | 未定义 | |
Boolean | 布尔值 | |
object | 对象 | 引用数据类型 |
在使用过程中,如不知道变量的数据类型,可使用typeof来输出变量数据类型。
console.log(typeof "数据值");
String字符串:
String字符串
- 在js中字符串需要用引号引用起来
- 使用单引号或者双引号都可以,但是不要混着用。如:'"
- 引号不能嵌套,双引号不能放双引号,单引号不能放单引号。
如:string = "我说:"你真帅!"";这是错误的。
正确写法:string = '我说:"你真帅!"';
- 如果非要选择引号嵌套,当表示一些特殊符号时可以使用“\”进行转义。
如:string = "我说:\"你真帅!"";
- 其中:
\" 表示" \' 表示' \n 表示换行符 \n 表示制表符
number数字:
number数字
- 在js中所有的数值都是number数字类型
- 包括整数与浮点数(小数)
- Number.MAX_VALUE可以查看js中number数字类型中的最大数值。
如果数值超过最大值,则会返回一个Infinity,
数值超过最小值,则会返回一个 - Infinity。
- 其中NaN是一个特殊数字,表示not a number。其数据类型也是number。
- 如果使用js进行浮点数的计算,可能会得到一个不精确的结果。所以不要使用js进行精确的数字计算。
Null空值与undefined未定义值:
Null空值
- Null类型的值只有一个,就是null
- null这个值专门用来表示一个为空的对象
- 使用typrof检查一个null时,其数据类型不会返回null,而是返回object类型
undefined 未定义
- undefined类型的值只有一个,就是undefined
- 当声明一个变量时,但是并不给变量赋值,它的值就会是undefined。
- 使用typeof检查时,它的值数据类型就是undefined。
Boolean布尔值:
Boolean布尔值
- 布尔值只有两个,主要用来做逻辑判断,true 表示为真,false 表示为假。
object对象:
object对象
- 除了以上五种数据类型,js中其他所有值都是对象值。
- 对象属于一种复合的数据类型,在对象中可以保存多个不同的数据类型的属性
- 对象分为内建对象,宿主对象,自定义对象。
- 1.内建对象
- 有ES标准中所定义的对象,在任何ES实现中都可使用。如:String number.......
- 2.宿主对象
- 由js的运行环境所提供的对象。如BOM DOM
- 3.自定义对象
- 由开发人员自己创建的对象
- 创建对象要使用new关键字来调用构造函数constructor来创建对象。
如:var "对象名" = new Object();
- 对象中属性值的添加语法如:对象名.属性名=属性值;
数据类型转换
在实际使用中我们会使用到不同的数据类型,有时要对数据类型进行转换。主要的转换方式如下。
强制类型转换为String:
将其他的数据类型转换为String
- 方法一:
- 调用被转换数据类型的toString()方法
- 该方法不会影响到原变量,它会将转换的结果返回。
- 但是:null和undefined数据类型没有toString方法,如果调用该方法,会报错。
- toString方法使用模板:toString("要进行强制转换的数据")。
如:var a = 1;a的数据类型为number。
b= a.toString();b为a的数据转换类型,b数据类型为string。
- 方法二:
- 调用String()函数,并将被转换的数据作为参数传递给函数。将定义的变量转换为字符串。
- 使用String()函数做强制类型转换时,
对于Number和Boolean实际上就是调用其toString()方法
但是对于null和undefined,就不会调用toString()方法
它会将null直接转换"null",将undefined直接转换为"undefined"
- String函数调用模板:String("要进行转换的数据")。
如:var a = 1;a的类型为number。
b = String(a);b为a的数据转换类型,b数据类型为string
强制转换数据类型为数字:
将其他的数据类型转换为Number
- 方法一:
使用Number()函数
1.如果转换的字符串为纯数字,则直接将其转换为数字
2.如果字符串中有非数字的内容,则转换为NaN
3.如果字符串是一个空字符串或者是一个全是空格的字符串,则转换为0
4.布尔值的转换:true转换为数字类型为1,false转换为数字类型为0.
5.undefined的数字转换为数字NaN
- 方法二:
这种方式只用于字符串
parseInt()把一个字符串转换为一个整数
parseFloat()把一个字符串转换为一个浮点数
parseInt()作用和parseFloat()相似,不同的是它可以获得有效的小数
如果对非String使用parseInt()或parseFloat()它会现将其转换为String,然后再操作
强制转换数据类型为布尔值:
将其他数据类型转换为布尔值:
- 调用Boolean()函数用于转换数据
- 数字类型转换为布尔值:除了0和NaN转换的布尔值都为false,其他的值都是true。
- 字符串类型转换为布尔值:除了空字符串转换的布尔值都为false,其他的值都是true。
- null和undefined都会转换为false。
- 对象也都会转换为true