1 数据类型
1.1 基本数据类型
-
number 数字型
-
string 字符串类型
-
boolean 布尔类型
-
undefined 未定义类型
-
null 空类型
1.1.1 数字类型
-
整数
-
小数
-
负数
拓展:
科学计数法:let num = 3e+5 console.log(num)//300000 表示3乘10的5次方
let num = 3e-5 console.log(num)//0.00003 表示3乘10的负5次方
console.log(1 / 0); //Infinity 无穷大
console.log(-1 / 0); //-Infinity 无穷小NaN: not a number,表示一个非数字的特殊值
注意事项:- NaN的类型是number类型的,表示一个非数字
- NaN不等于任何值,包括NaN自己
- 通过 isNaN 可以判断数据是否为数字,返回false的时候,表示是一个数字,返回true的时候,表示不是一个数字
let a = 'abc' let b = 123 let c = a - b console.log(c)//NaN
js小数会出现不精准的问题:
解决方法:- 根据小数点后面的位置数,乘以对应的整数,最后在除以这个整数
console.log(0.2*10+0.1*10) - 使用toFixed(数字)方法,强制保留小数后几位
let a = 0.1 + 0.2
console.log(a.Fixed(1));//保留小数点后一位
1.1.1 字符串类型
通过单引号或双引号包裹的任意字符串
拓展:
- 单引号里面可以放双引号,双引号里面可以放单引号,但是两者均不可以放置其自身
- 转义符号 \ (反斜杠),能够把引号的特性去除掉
- 字符串拼接: 当输出的内容有一方是字符串类型,通过 + 进行运算时,另一方也会变成字符串,再进行拼接
- 模版字符串 ``:不仅支持文本换行书写,还支持解析变量功能
1.1.2 布尔类型 boolean
代表事物的真(true)与假(false)
1.1.3 未定义类型
在 JavaScript 中,undefined 是一个特殊的值和数据类型。当一个变量声明但未赋值时,该变量的值就是 undefined。它表示一个未定义或未初始化的值。
1.1.4 空类型
在 JavaScript 中,null 是一个特殊的值和数据类型。它表示一个空值或者不存在的对象。与 undefined 不同,null 是 JavaScript 保留关键字,而 undefined 只是一个常量。也就是说可以声明名称为 undefined 的变量,但将 null 作为变量使用时则会报错。
null 与 undefined 的区别:
undefined 是表示一个未定义或未初始化的值,常用于声明但未赋值的变量,或者访问不存在的属性。
null 是一个被赋予的值,用于表示变量被故意赋值为空。
在判断变量是否为空时,使用严格相等运算符(===),因为 undefined 和 null 在非严格相等运算符(==)下会相等。
1.2 引用数据类型(或者叫复杂数据类型)
-
Object 对象类型
-
Array 数组类型
1.2.1 对象
JavaScript 中,Object 是一个内置的基本数据类型和构造函数。是一组由键、值组成的无序集合,定义对象类型需要使用花括号{ },它是 JavaScript 中最基本的对象类型,也是其他对象类型的基础。
1.2.2 数组
JavaScript 中,数组(Array)是一组按顺序排列的数据的集合,数组中的每个值都称为元素,而且数组中可以包含任意类型的数据。在 JavaScript 中定义数组需要使用方括号[ ],数组中的每个元素使用逗号进行分隔。
1.3 查看数据类型
let name = '小美'
console.log(typeof(name)) => string
js
2 数据类型的转换
- 转换为Boolean类型
2.1 转换为Boolean类型
语法: Boolean(值)
值的类型:
-
数字类型 0为false,其它的都为true,包括负数
-
字符串类型 ''空字符串为false,其它的都为true,引号里面敲个空格 ' ' 也为true
-
undefined 为false
-
null 为false
-
对象 对象为null时为false,其它情况为true
总结:数字0,空字符串,undefined,null都为false,其余的为true
2.2 转换为字符串类型
语法: String(值) 或 值.toString()
转字符串就是在数据上添加 '' "",在进行复杂数据类型转换的时候,[] 数组中的数据中的数据都变成字符串类型,{ } 对象中的数据不受影响并以object表示结果
![]()
2.2 转换为数字
语法: Number(值)
值的类型:
- 字符串 当字符串里面放的是数字是类型时能够转换成具体数字,空字符串为0,其它情况为NaN
- 布尔类型 false转换为0,true转换为1
- undefined 为NaN
- null 为NaN
总结:数字类型的字符串能够转换为具体的数字。空字符串,false,null,[]转换为0,true转换为1,其它都是NaN
![]()
拓展:parseInt(值)取整 parseflo(值)保留小数位 这两个方法也能把其他类型转换为数字类型,并且有以下特点:
![]()
2.3 隐式转换
隐式转换:
- 当进行数学运算的时候(除了+号),数学运算符会把两边的数据转换为数字再进行数学运算
- 当进行比较运算的时候,比较运算符有一边是数字类型,那么另外一边也会转为数字类型,再进行大小的比较
要注意的是当两边都是字符串的时候比较的是ascll码值