- 数据类型简介
为什么需要数据类型
不同数据所占用的存储空间是不同的,为了便于把数据分成所需要内存大小不同的数据,重复利用存储空间, 于是定义了不同的数据类型。简答来说,数据类型就是数据的类型型号。
变量的数据类型
变量是用来存储值的所在书,它们有名字和数据类型,变量的数据类型决定了如何将代表这些值的位置存储到计算机的内存中。JavaScript是一种弱类型或者动态语言。这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。
```js
var age = 10; //这是一个数字类型
var areYouOk = '是的'; //这是一个字符串
```
在代码运行时, 变量的数据类型是有JS引擎根`=`右边变量的值的数据类型来判断的,运行完毕之后,变量就确定了数据类型。JavaScript拥有动态类型,同时也意外着相同的变量可用作不同的类型
```js
var x = 6; //x为数字
var x = 'Bill' //x为字符串
```
数据类型的分类
JS把数据类型分为两类
- 简单数据类型(Number,String,Boolean,Undefined,Null)
- 复杂数据类型(object)
- 简单数据类型
简单数据类型
简单数据类型 | 说明 | 默认值 |
---|---|---|
Number | 数字型, 包含整数值和浮点值, 如21,0.21 | 0 |
Boolean | 布尔值类型 ,如true,false,等价于1和0 | false |
String | 字符串类型, 如"张三",js里字符串都带引号 | "" |
Undefined | var a;声明了变量a但是没有给值,此时a = undefined | indefined |
Null | var a=null;声明了变量a为空置 | null |
数字类型 Number
JavaScript数字类型既可以用来保存整数值, 也可以报表小数(浮点数)
var num = 10; //num 数字型
var PI = 3.14 //PI 数字型
// 1. 八进制 0~7 数字前面加0 标识八进制
var num1 = 010 ;
console.log(num1); //010 八进制 转换为 10进制 就是 8
var num2 = 012; //10
console.log(num2);
// 2.十六进制 0~9 a~f 数字前面加 0x 表示十六进制
var num3 = 0x9;
console.log(num3); //9
var num4 = 0xa;
console.log(num4); //10
数字类型范围
JavaScript中数据的最大值和最小值
console.log(Number.MAX_VALUE); //1.7976931348623157e+308
console.log(Number.MIN_VALUE); //5e-324
数字类型三个特殊值
- Infinity , 代表无穷大, 大于任何数值
- -Infinity, 代表无穷小,小于任何数值
- NaN, Not a number, 代表一个非数值
isNan 用来判断非数字, 如果是数字返回false,如果不是数字,返回true
console.log(isNaN('adsf')); //true
console.log(isNaN(1)); //false
console.log(isNaN('1'));//false
字符串类型 String
字符串类型可以是引号中的任意文本,其语法为双引号""和单引号''
因为HTML标签里面的属性使用的是双引号, JS里更推荐使用单引号
字符串引号嵌套
JS可以使用单引号嵌套双引号,或者用双引号嵌套单引号(外双内单,外单内双)字符串转义符,转义符以\开头
转义符 | 解释说明 |
---|---|
\n | 换行符, n是newline的意思 |
\|斜杆\ | |
\' | 单引号 |
\" | 双引号 |
\t | tab缩进 |
\b | 空格,b是blank的意思 |
- 字符串长度
//检测字符串长度
var ss = '我是个字符串'
console.log(ss.length); //6
- 字符串拼接
- 多个字符串好自己可以使用+进行拼接,其拼接方式为 字符串+任何类型 = 拼接之后的新字符串
- 拼接前会把与字符串相加的任何类型转换为字符串, 再拼接成一个新的字符串