JavaScript基础之数据类型及转换
1. 数据类型
1.1 变量的数据类型
变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。JavaScript是一种弱类型或者说动态语言。 这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。
在代码运行时,变量的数据类型是由JS引擎,根据右边变量值的数据类型来判断的,运行完毕后,变量就确定了数据类型。
JavaScript具有动态类型,同时意味着相同的变量可用作不同的数据类型
1.2 数据类型的分类
js把数据类型分为两类:
- 简单数据类型:Number、String、Boolean、Undefined、Null
- 复杂数据类型:Object
1.3 简单数据类型(基本数据类型)
简单数据类型 | 说明 | 默认值 |
---|---|---|
Number | 数字型,包含整型和浮点型 | 0 |
String | 字符串类型 | ‘’ |
Boolean | 布尔值类型,false 代表0 ,true 代表1 | false |
Undefined | var a; 声明了变量a但是没有给值,此时a = undefined | undefined |
Null | var a = null; 声明了变量a为空值 | null |
1.4 数字型Number
-
数字型进制
// 1.八进制数字序列范围:0~7 var num1 = 07; //对应十进制的7 var num2 = 016; //对应十进制的14 var num3 = 077; //对应十进制的63 // 2.十六进制数字序列范围:0~9以及a~f(或A~F) var num4 = 0xfff; //对应十进制的4095
在JS中八进制前加
0
,十六进制前加0x
-
数字型范围
JavaScript中数值的最大值和最小值:alert(Number.MAX_VALUE); //1.7976931348623157e+308 alert(Number.MIN_VALUE); //5e-324
-
数字型三个特殊值
alert(Infinity); //正无穷,大于任何值 alert(-Infinity); //负无穷,小于任何值 alert(NaN); //NaN,Not a Number,代表一个非数值
-
isNaN(variable)
函数
判断变量variable
是否为非数值,如果是非数值(即变量不是数字),则返回true
,否则(即变量是数字)返回false
。
1.5 字符串型String
-
字符串型可以是引号(
''
或""
)中的任意文本。 -
JS更推荐使用双引号
""
-
JS可以用单引号嵌套双引号,或者用双引号嵌套单引号(内双外单,或内单外双)
var string_Msg = '大家好,"Javier_Ji"是我的英文名'; var string_Msg2 = "大家好,'Javier_Ji'是我的英文名";
-
字符串转义符
转义符都是\
反斜杠开头的,常用的转义符如下所示:转义符 说明 \n
换行符 \\
斜杠\ \'
单引号 \"
双引号 \t
tab
缩进\b
空格 -
字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度。通过length
属性可以获取字符串的长度。如:var string_Msg = 'Hello World'; console.log(string_Msg.length); //结果为:11
-
字符串的拼接
· 多个字符串可以用+
进行拼接,其拼接方式为:字符串 + 任意类型 = 拼接后的新字符串
· 拼接前会把与字符串相加的任意类型转换成字符串,再去拼接示例:
console.log(100 + '123'); //结果为:100123
-
字符串拼接变量
示例:var age = 18; console.log('我今年已经' + age + '岁了'); //结果为:我今年已经18岁了
1.6 布尔型Boolean
- 布尔型有两个值:
true
表示真和false
表示假 - 布尔型和数字相加的时候,
true
的值为1,false
的值为0
1.7 Undefined和Null
-
一个声明后没有被赋值的变量会有一个默认值
undefined
var a; console.log(a); //undefined console.log('你好' + a); //你好undefined console.log(11 + a); //NaN console.log(true + a); //NaN
-
一个声明变量给
null
值,里面存的值为空。var b = null; console.log(b); //null console.log('你好' + b); //你好null console.log(11 + b); //11 console.log(true + b); //1
2. 数据类型转换
使用表单、prompt
获取的数据默认是字符串类型的,不能直接进行加法运算,而需要转换变量的数据类型。通俗来说,就是把一种数据类型转换成另一种数据类型
2.1 转换为字符串
-
转换方式:
方式 说明 toString()
函数转换成字符串型 String()
强制转换函数转换成字符串型 js隐式转换:加法拼接字符串 和字符串拼接的结果都为字符串
2.2 转换为数字型
-
转换方式:
方式 说明 parseInt(String)
函数将 string
类型转换成整数数值型parseFloat(String)
函数将 string
类型转换成浮点数数值型Number()
强制转换函数将 string
类型转换成数值型js隐式转换( -
、*
、/
)利用算术运算隐式转换为数值型
2.3 转换为布尔型
-
转换方式:
方式 说明 Boolean()
函数其他类型转换成布尔值 -
解释:
· 代表 空、否定的值 会被转换成false
,如:''
、0
、NaN
、undefined
、null
· 其余值都会被转换为true