共计 1900 个字符,预计需要花费 5 分钟才能阅读完成。
在代码运行时,变量的数据类型是由 JS 引擎根据 = 右边变量值的数据类型来判断的,运行完毕后,变量就确定了数据类型
JavaScript 拥有动态类型,同时也意味着相同的变量可作用不同的类型
基本数据类型
简单数据类型 | 说明 | 默认值 |
---|---|---|
Number |
数字型,包含整型值和浮点值,如19、0.19 | 0 |
Boolean |
布尔值类型,如 true 、false 等价于 1 和 0 |
false |
String |
字符串类型,如 “张三” 注意 js 里面,字符串都带引号 | “” |
Undefined |
var a; 声明了变量 a 但是没有给值,此时 a === undefined | undefined |
Null |
var a = null; 声明了变量 a 为null | null |
数字型 Number
- 八进制 0~7 数字前面加0 表示八进制
- 十六进制 0~9 a~f 数字前面加0x 表示十六进制
数字型最大最小值
Number.MAX_VALUE
,这个值为:1.7976931348623157e+308
Number.MIN_VALUE
,这个值为:5e-32
数字型三个特殊值
Infinity
,代表无穷大,大于任何数值
-Infinity
,代表无穷小,小于任何数值
NaN,Not a number
,代表一个非数值
判断非数字
isNaN()
这个方法用来判断非数字,并且返回一个值,如果是数字返回的是 false,如果不是数字返回的是 true
布尔型 Boolean
布尔类型有两个值:true 和f alse,其中 true 表示真(对),而 false 表示假(错)
布尔型和数字型相加的时候,true 的值为 1,false 的值为 0
字符串型 String
字符串型可以是引号中的任意文本,其语法为双引号””和单引号”
因为HTML标签里面的属性使用的是双引号,JS这里更推荐使用单引号
字符串引号嵌套 JS 可以用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)
字符串转义符
转义符 | 解释说明 |
---|---|
\n |
换行符,n是newline的意思 |
\' |
单引号 |
\" |
双引号 |
\t |
tab 缩进 |
\b |
退格 |
字符串长度
字符串是由若干个字符组成的,这些字符的数量就是字符的长度,通过字符串的 length
属性可以获取整个字符串的长度
字符串拼接
多个字符串之间可以使用 +
进行拼接,其拼接方式为字符串 + 任何类型 = 拼接之后的新字符串
拼接前会把与字符相加的任何类型转换成字符串,在拼接成一个新的字符串
+
号总结口诀:数值相加,字符相连
变量和字符串相连的口诀:引引加加 ' + + '
Undefined
和 Null
一个声明后没有被赋值的变量会有一个默认值 undefined
(如果进行相连或者相加时,注意结果)
一个声明变量给 null
值,里面存的值为空
复杂数据类型
获取检测变量数据类型
typeof
可以用来获取检测变量的数据类型
let num = 10;
console.1og(typeof num); // number型
let str = 'qiao';
console.1og(typeof str); // string型
let flag = true;
console. log(typeof flag); // boolean型
let vari = undefined;
console.log(typeof vari); // undefined型
let timer = null;
console.1og(typeof timer); // object型
数据类型的转换
隐式转换
- + 号两边只要有一个是字符串,都会把另一个转成字符串
- 除了 + 以外的算数运算符,比如 – * / 等都会把数据转换成数字类型
- + 号作为正号解析可以转换为 Number
转换为字符串型
方式 | 说明 | 案例 |
---|---|---|
toString() |
转换字符串 | var num = 1; alert(num.toString()); |
String() 强制转换 |
转换字符串 | var num = 1; alert(String(num)); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var num = 1; alert(num + '字符串'); |
转换为数字型
方式 | 说明 | 案例 |
---|---|---|
parseInt(string) 函数 |
把 string 转换为整数数值型 |
parseInt('69') |
parseFloat(string) 函数 |
把 string 转换为浮点数数值型 |
parseFloat('69.96') |
Number() 强制转换函数 |
把 string 类型转化为数值型 |
Number('66') |
js 隐式转换(- * / ) |
利用算术运算符隐式转换为数值型 | '66' - 0 |
转换为布尔型
方式 | 说明 | 案例 |
---|---|---|
Boolean() 函数 |
其他类型转换成布尔值 | Boolean('true') |
代表空、否定的值都会转换为 false,如 ” “、0、NaN、null、undefined 都会转换为 false
其余值都会被转换为 true
引用数据类型
object 对象
function 函数
array 数组