JS数据类型

JS数据类型

JS的数据类型是动态的。
首先,进行分类讨论,分类的依据是根据存储方式的不同。

一.基本数据类型

1.undefined

当声明一个变量,但并未赋值,这个变量的类型就为undefined;或者给变量附一个undefined

var a;
console.log(typeof a); //输出undefined

字面量

只有一个,undefined

2.number

当给一个变量赋一个数值,这个变量的类型为number

var a = 123;
console.log(typeof a); //输出number

字面量

  1. 任何数字(包括整数和浮点数)
  2. Infinity (表示无穷大)
  3. NaN (表示不是一个数字)

关于数字字面量,以0x开头,表示16进制;以0开头,表示8进制;以0b开头,表示二进制

3.string

当给一个变量赋一个字符串(使用双引号括起来),这个变量的类型为string

字面量

通过引号引起的字符集合

字符串中,可以有转义字符(具体的可以上百度查表),还可以直接将unicode编码转换为字符,\uxxxx,xxxx为4位16进制。

var a = "123";
console.log(typeof a); //输出string

4.boolean

当给一个变量赋一个布尔值(true或者false,注意,没有引号),这个变量的类型为boolean

var a = true;
console.log(typeof a); //输出boolean

字面量

  1. true 表示逻辑真
  2. false 表示逻辑假

5.null

var a = null;
console.log(typeof a); //输出object

注意,这里的分类是按照存储的本质进行分类的,null是直接存在栈内存的(后面说),所以被null被认为是基本数据类型

字面量

只有一个,null

二.引用数据类型

1.对象

var a = {};
console.log(typeof a); //输出object

2.数组(其实,数组也是一个特殊的对象)

var a = ["1", "2"];
console.log(typeof a); //输出object

3.函数

var a = new Function();
console.log(typeof a); //输出function

三.基本数据类型和引用数据类型的分类依据(本质差别)

1.基本数据类型

基本数据类型的值,就存储在栈内存中。

2.引用数据类型

引用数据类型的值,存储在堆内存中;对象在堆内存中的地址,存储在栈内存中。(和Java中的引用概念一致,如果对C熟悉,其实就是一个指针)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值