数据类型
在此之前先提出五个要求
- 能够说出5种简单数据类型
- 能够使用typeof获取变量的类型
- 能够说出1-2种转换为数值型的方法
- 能够说出1-2种转换为字符型的方法
- 能够说出什么是隐式转换
为什么要数据类型
计算机中不同数据类型所需占用的存储空间是不同的,为了充分利用存储空间,于是定义不同数据类型
JavaScript是一种弱语言并且是动态语言
- js的变量数据类型只有在程序运行过程中根据等号右边的值来确定的。
- js变量的数据类型是可以变化的。
数据类型的分类分为简单数据类型和复杂数据类型
简单数据类型:
数字型Number
二进制:
当数据以0b 开头的数据 就是二进制的数据
二进制的数据只能由0 1 组成
八进制:
当数据以0o 开头 就表示这个数据为八进制的数据
八进制的数据只能由0-7组成
十六进制:
当数据以0x开头 就表示这个数据为十六进制的数据
十六0进制的数据由0-9a-f组成数据
二进制怎么转换为十进制?
假设这里有一个 var num = 0b101010;
把它倒转过来 010101;
第一位数乘以进制的0次方+第二位数乘以进制的1次方+第三位数乘以进制的2次方·······
其他进制同理
isNaN() 这个方法用来判断非数字,并返回一个值 如果是数字返回的是false 如果不是数字返回true
字符串型 String
字符串型可以是引号中的任意文本,可以单引号或者双引号;
如果使用引号嵌套,那就遵循外双内单或外单内双的原则;
类似HTML里的特殊字符,字符串也有,我们成为转义符;
转义符都是\开头的,在使用的时候用引号包起来即可,常用转义字符如下:
转义字符 | 解释说明 |
---|---|
\n | 换行符,n是newline的意思 |
\ | 斜杠\ |
\ ’ | '单引号 |
\ " | ”双引号 |
\t | tab 缩进 |
\b | 空格,b是blank的意思 |
var str = '我是一个"\n"程序员'
程序员三字会得到换行效果
字符串长度
字符串是由若干字符组成的,这些字符的数量就是字符串的长度,通过字符串的length属性可以获取整个字符串的长度。
检测获取字符串的长度 length
var str = 'my name is andy';
console.log(str.length);
会得到15个字符串长度,每个字母加空格为一个字符串
字符串拼接
多个字符串自减可以使用+进行拼接,方式为字符串+任意类型=拼接之后的新字符串
拼接钱会把字符串相加的任何类型转成字符串,再拼接成一个新的字符串
var n = "帅气"
var b = "多金"
console.log("帅气" + "多金")
结果为 帅气多金
布尔型 Boolean
布尔类型有两个值:true和false 其中true表示真(对)而false表示假(错)
参与加法运算的时候true当做1来看
参与加法运算的时候false当做0来看。
Undefined 和 Null
Undefined:如果一个变量声明未赋值 就是Undefined 未定义数据类型
例如 var str;那str未定义数据类型 打印出来就会显示Undefined。
Nul:一个声明变量个null值 里面存的值为空。
简单了解即可
数据类型 | 解释 | 默认值 |
---|---|---|
Number | 数字型,包含整数型和浮点型值,例如18、 0.24 | 0 |
Boolean | 布尔值类型 如true和false | false |
String | 字符串型 js里通常写在引号里,单引号双引号都可以 | “” |
Undefined | 声明变量但是没给值就是Undefined | Undefined |
Null | 声明变量值为空值 | Null |
检测数据类型的方法
使用typeof 变量名
例:
var str = "123456";
var num = prompt(123456);
console.log(num);//控制台的颜色是黑色的,说明是输入的是字符串、所以prompt 取过来的值默认是字符型的
console.log(typeof str);
数据类型转换
什么是数据类型转换?
使用表单、prompt获取过来的数据默认是字符串类型的,此时不能直接简单的进行加法运算,而需要转换变量的数据类型。
通俗来说,就是把一种数据类型的变量转换成另外一种数据类型
转换为字符串类型
方式 | 说明 | 案例 |
---|---|---|
toString() | 转成字符串 | var num = 1 alert(num.toString()); |
String()强制转换 | 转成字符串 | var num=1;alert(String(num)); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var num = 1;alert(num+“我是字符串”); |
隐式转换 | 利用 + 拼接字符串的方法实现转换效果 | num+" " |
转换为数字型(重点)
方式 | 说明 | 案例 |
---|---|---|
parseInt(string)函数 | 将string类型转换成整数数值型 | parseInt(“78”) |
parseFloat(string)函数 | 将string类型转换成浮点数数值型 | parseFloat(“78.21”) |
Number()强制转换函数 | 将string类型转换为数值型 | Number(“12”) |
隐式转换 - * / | 利用算式运算转换为数值型 | console.log(“12”-0) |
转换为布尔型
方式 | 说明 | 案例 |
---|---|---|
Boolean(函数) | 其他类型转成布尔值 | Boolean(“true”) |
这个理解很简单
- 代表空、否定的值会被转换为false,如""、0、NaN、null、undefined
- 其余值都会被转换为true