目录
数据类型指的就是字面量的类型;
JS中一共有六种数据类型:
String 字符串
Number 数值
Boolean 布尔值
Null 空值
Undefined 未定义
Object 对象(引用数据类型)
String 字符串:
- 在JS中字符串需要用引号引起来;
- 使用单引号或者双引号都可,但别混着使用;
- 引号不可以嵌套,双引号不可以套双引号,单引号不能套单引号;
str = "他说:'今天你也很美丽'";
Number 数值
- JS中所有数值类型都是Number类型:包括整数和浮点数;
- JS中可以表示数字的最大值:Number.MAX_VALUE
- JS中可以表示数字的最小值:Number.MIN_VALUE
- 如果使用Number表示的数字超过了最大值,则会返回
Infinity 表示正无穷
-Infinity 表示负无穷
- 使用typeof检查Infinity也会返回Number;
语法:typeof变量
检查字符串会返回string;检查数值,会返回number。
- NaN使一个特殊的数字,表示Not A Number
使用typeof检查一个NAN也会返回number.
Boolean 布尔值
- 布尔值只有两个,主要用来做逻辑判断
- true -表示真
- false -表示假
- 使用typeof检查一个布尔值时,会返回boolean;
var bool = "true";
console.log(typeof bool);
conosole.log(bool);
Null 空值 和 Undefined 未定义
- Null类型的值只有一个,就是null
- null这个值专门用来表示一个为空的对象
- 使用typeof检查一个Null值时,会返回object
- ---------------------------------------------------------------
- Undefined类型只有一个,就undefined
- 当声明一个变量,但是并不给变量赋值时,他的值就是undefined
- 使用typeof检查一个Undefined值时,会返回undefined.
强制类型转换指将一个数据类型强制转换为其他的数据类型;
数据类型主要指,将其他的数据类型转换为 String Number Boolean
将其他类型转换为String
- 方式一:(XXX.toString())
调用xxx的yyy方法:xxx.yyy() 注意:
1.他不会修改原变量,而是作为返回值返回
2.bool的toString是"true"/"false"但是存在问题
3.null,undefined 的toString会报错Uncaught TypeError: Cannot read property ‘toString’ of null,因为这两个类型没有toString
- 方式二:
调用String()函数: 将被转化的数据作为参数传入, 这个支持Null与Undefined
var a;
a=ture;
a=a.toString();
console.log(typeof a);
console.log(a);
运行结果
“string”
"ture"
将其他类型转换为Number类型
- 方法一:
使用Number()函数:
非数字的字符串转Number会NaN,空string串(允许包含任意空格)会转化为0, bool=true转为1,false转化为0, null转为0, undefined转为0.
- 方法二:
-
parseInt()与parseFloat(),可以将字符串中有效的对应内容解析
-
parseInt(“123r456”)会先解析123然后遇到r直接break!
-
parseInt()只能取整数,parseFloat()可取小数
-
如果对非String使用parseInt()或parseFloat(),它会先将其转化为String,然后再操作
-
利用parseint可以取整.
将其他类型转换为Boolean类型
Boolean()函数
Number 非0:true ,0:false,
String 非空:true ,空:false,
Null 为false, undefined为false,
Object为true
var a = 123;//true
a = -123;//true
a = 0;//false
a = Infinity;//true
a = NaN;//false
文章参考与尚硅谷js基础教程的视频;