JS中的数据类型

小灰灰 2022-03-01 05:52 275阅读 0赞

一、背景介绍
数据类型

js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Null,Undefined),和一种混合数据类型(Object)

二、知识剖析

Undefined
Undefined只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined

Null
null类型被看做空对象指针,只有一个值,即null值, 如果定义的变量准备在之后保存一个对象,那需要将该变量保存为null值。

String
String用于表示零或多个16位Unicode字符组成的字符系列,字符串可以由双引号“”或单引号‘’表示,不过以双引号开头的字符串也必须以双引号结尾,单引号也是如此

js中的字符串是不可改变的,也就是说字符串一旦创建,他的值就不能改变,要改变首先要销毁原来的字符串,然后在用另一个包含新值得字符串填充该变量

Boolean
Boolean类型是js中使用最多的一种类型,该类型只有两个字面值true和false

Number
number类型,字面量格式可以是十进制整数、八进制(八进制第一位必须是0)、十六进制(前两位必须是0x),

浮点数值(就是包含一个小数点的数值,如果小数点后面没有跟任何数字,那么这个数值将作为整数值来保存)

如果数值太大可以使用e表示法,用e表示数值等于e前面的数值乘以10的指数次幂

var num=3.125e7 //等于31250000

含义就是3.125乘以10的7次方

NaN,非数字类型。涉及到的 任何关于NaN的操作,都会返回NaN

Object
js中对象是一组属性与方法的集合。这里就要说到引用类型了,引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。

object类型细分的话有:Object 类型、Array 类型、Date 类型、RegExp 类型、Function 类型 等。

三大引用类型
1.Object类型
创建Object实例的方式有两种。

第一种是使用new操作符后跟Object构造函数

第二种方式是使用对象字面量表示法

2.Array类型
数组的每一项可以用来保存任何类型的数据,也就是说,可以用数组的第一个位置来保存字符串,第二个位置保存数值,第三个位置保存对象…另外,数组的大小是可以动态调整的。

3.Function类型
每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。函数通常是使用函数声明语法定义的

三、常见问题
undefined和null的区别

四、解决方案
js诞生的时候只设置了null作为“无”的值。最初的设计是null是表示一个“无”的对象,转为数值时为0; | undefined表示“无”的原始值,转为数值时为NaN;undefined就是为了正式的区分空对象指针与未经初始化的变量,变量设置为null就是空对象指针,没有设置就是未经初始化!

五、拓展思考

typeof 操作符
由于js中的变量是松散类型的,所以它提供了一种检测当前变量的数据类型的方法,也就是typeof

六、参考文献
阮一峰的JS教程(http://javascript.ruanyifeng.com)

七、更多讨论
1、undefined和null的区别

js诞生的时候只设置了null作为“无”的值。最初的设计是null是表示一个“无”的对象,转为数值时为0; | undefined表示“无”的原 始值,转为数值时为NaN;undefined就是为了正式的区分空对象指针与未经初始化的变量,变量设置为null就是空对象指 针,没有设置就是未经初始化!

2、什么是typeof

由于js中的变量是松散类型的,所以它提供了一种检测当前变量的数据类型的方法,也就是typeof 操作符

3、Number有什么表现方法

可以是十进制整数、

八进制(八进制第一位必须是0)

十六进制(前两位必须是0x)

浮点数值(就是包含一个小数点的数值,如果小数点后面没有跟任何数字,那么这个数值将作为整数值来保存)

如果数值太大可以使用e表示法,用e表示数值等于e前面的数值乘以10的指数次幂

var num=3.125e7 //等于31250000

含义就是3.125乘以10的7次方

NaN,非数字类型。涉及到的 任何关于NaN的操作,都会返回NaN

发表评论

表情:
评论列表 (有 0 条评论,275人围观)

还没有评论,来说两句吧...

相关阅读

    相关 JS数据类型

    一、背景介绍 数据类型 js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Null,Undefined),和一种混合数据类型(Obj