JS基本数据类型

1. 数据类型分类

JavaScript数据类型可分为6种简单数据类型(基本数据类型)和1种复杂数据类型(Object)

2. 6 种基本数据类型

2.1 Number类型

十进制:10 = 10
二进制:0b 11 = 3
八进制:0 70 = 56
十六进制:0x A = 10
NaN非数值,是一个特殊的数值,涉及它的运算都返回NaN,它不等于任何值包括它本身,isNaN()可以确定参数是否不是数值

所有的数字都是以64位浮点数的形式储存

2.2 String 类型

你好 === 你好
‘’ 空字符串,长度为0
‘ ’ 空格字符串,长度为1
\字符 :转义字符,长度为1,如 \n 指回车(13)

一个字符是由16位(bit)来存储的,即2Bytes

延伸: 8位(bit)=1字节(Byte),1024字节=1KB;字节是固定由8位二进制构成,64位系统就代表了64位的二进制代表一个字,换算成字节就是64/8=8,即是说由8字节构成一个字,32位系统就是32/8=4,4个字节代表一个字。字长则是一个字对应的二进制长度,64位系统字长就是64位。


多行字符串(不是字符串中有回车)的三种写法:
a、“\”:\后面只能是回车,不能有空格等其他东西
eg:“123 \
456”
b、“+”:拼接字符串操作
c、 ES6的反引号操作:` `,这个操作支持字符串中的空格回车,甚至可以有变量

2.3 Boolean 类型

true 和 false(区分大小写),字面值只有这两个,其他如 True 等都不是,和1与0是两码事

2.4 Symbol 类型

一个独一无二的值

2.5 Undefined 类型

只有 undefined 一个值

2.6 Null 类型

只有 null 一个值


undefined和null的区别:
a、变量没有赋值,就是undefined
b、有一个对象Object,暂时不想赋值,推荐 null 填充;非对象则推荐 undefined 填充

2.7 Object 类型

ECMAScript中的对象其实就是一组数据和功能的集合,它是由一系列简单数据类型组成的
PS:
a、person[‘name’] !== person[name],如果有var name = ‘fool’,那么person[name] == person[‘fool’]
b、delete person.name 和 person.name = ‘undefined’ 的操作是不同的,前者是删除属性及其对应值,后者只删除值
c、forin的用法:

for (var key in person){
    console.log(key, person[key]) //注意变量是key,其中的person[key]不能加引号
}

3. typeof 操作符

操作符运算的返回类型

4. 类型转换

4.1 转换为字符串

a、.toString(),转换null和undefined时会报错
b、加空字符串,都可以转换,eg:null + ” = “null”,推荐此方法

4.2 转换为布尔值

a、Boolean()方法
b、取反再取反操作,即 !! 操作,eg:!!1 = true

**注意:**5个falsy值
0,NaN,” ,null,undefined

4.3 转换为数值

a、Number()方法
b、parseInt()方法
c、parseFloat()方法
d、其它类型 - 0 方法:如 ‘1’ - 0 === 1
e、+ 其它类型:如 + ‘1’ === 1
parseInt()方法的几个实例:

var num = parseInt('1234blue')   //1234
var num = parseInt('')           //NaN
var num = parseInt('0xA')        //10
var num = parseInt('22.5')       //22
var num = parseInt('070')        //70,ECMAScript5已经不具备解析八进制数的能力
var num = parseInt('70', 10)     //70

parseInt(xxx, 几进制数),其中务必加上第二个参数,免得造成误解。

猜你喜欢

转载自blog.csdn.net/zhouyl02/article/details/82733135
今日推荐