javascript的数据类型主要有哪些?javascript数据类型介绍
数据类型是指可以在程序中存储和操作的值的类型。每种编程语言都有自己支持的数据类型,JavaScript也是如此。JavaScript 是一种动态类型语言,那么javascript的数据类型主要有哪些?目前JavaScript 中有两种数据类型:基本数据类型(值类型):和引用数据类型,具体介绍如下:
基本数据类型(值类型):String、Number、Boolean、Null、Undefined、Symbol;
引用数据类型:对象、数组、函数。
提示:符号是 ECMAScript6 中引入的一种新数据类型,表示唯一值。
类型运算符
在开始介绍各种数据类型之前,我们先来了解一下typeof运算符,它可以使用typeof运算符返回一个变量的数据类型。
typeof 运算符可以带括号也可以不带括号,如下例所示:
一、JS 基本数据类型
1) 字符串类型
String类型是一段用单引号''或双引号""括起来的文本,如'123'、"abc"。需要注意的是,单引号和双引号是定义字符串的不同方式,不是字符串的一部分。
定义字符串时,如果字符串中包含引号,可以使用反斜杠\将字符串中的引号转义,或者从字符串中选择不同的引号来定义字符串,如下例所示:
2.数字类型
Number 类型用于定义数值。 JavaScript不区分整数和小数(浮点数),用Number类型表示,如下例所示:
注意:Number 类型可以定义的数字不是无限的。 JavaScript中的Number类型只能表示之间的值。对于一些非常大或非常小的数字,也可以用科学(指数)记数法来表示,如下例所示:
此外,Number类型中还有一些特殊的值,即Infinity、-Infinity和NaN,其中
Infinity:用于表示正无穷大的值,一般指大于1.7976931348623157e+308的数;
-Infinity:用来表示负无穷大的值,一般是小于5e-324的数;
NaN:即不是数字(Not a Number的缩写),用于表示无效或未定义的数学运算结构,如0除以0。
提示:如果计算结果超出 JavaScript 中 Number 类型的取值范围,则该数字会自动转换为无穷大,正数为 Infinity,负数为 -Infinity。
3.布尔类型
布尔类型只有两个值,真(true)或假(假)。布尔值可以通过一些表达式获得,例如:
4.空类型
Null是一种只有一个值的特殊数据类型,代表一个“空”值,即没有值,什么都没有,用来定义一个空对象指针。
使用typeof操作符查看Null的类型,你会发现Null的类型是Object,说明Null实际上使用了一个属于Object的特殊值。因此,通过将变量分配给 Null,我们可以创建一个空对象。
5.未定义类型
未定义也是一种特殊的数据类型,只有一个值,意思是未定义。当我们声明一个变量但不给变量赋值时,变量的默认值是Undefined。例如:
当你使用typeof运算符查看未赋值变量的类型时,你会发现它们的类型也是未定义的。对于未声明的变量,使用typeof操作符查看其类型,你会发现未声明的变量也是未定义的。示例代码如下:
6.符号类型
Symbol 是 ECMAScript6 中引入的一种新的数据类型,它代表一个唯一的值。 Symbol类型的值需要使用Symbol()函数生成,如下例所示:
二、JS 引用数据类型
1.对象类型
JavaScript 中的对象类型是由键和值组成的无序集合。要定义对象类型,需要大括号 { }。语法如下:
其中name1、name2、name3、...,nameN是对象中的键,value1、value2、value3、...,valueN是对应的值。
在JavaScript中,对象类型的键都是字符串,值可以是任何数据类型。要获取对象中的值,可以使用objectname.key的形式,如下例:
2.数组类型
数组(Array)是按顺序排列的数据集合。数组中的每个值称为一个元素,数组可以包含任何类型的数据。 JavaScript中定义数组需要方括号[],数组中的每个元素用逗号分隔,例如:
或者,可以使用 Array() 函数创建一个数组,如下例所示:
数组中的元素可以通过索引访问。数组中的索引从 0 开始,依次递增,即数组第一个元素的索引为 0,第二个元素的索引为 1,第三个元素的索引为 2,以此类推。如下例所示:
3.函数类型
函数是具有特定功能的代码块。该功能不会自动运行。需要通过函数名调用才能运行,如下例所示:
此外,函数可以存储在变量、对象、数组中,函数可以作为参数传递给其他函数,也可以从其他函数返回,如下例所示:
关于javascript的数据类型主要有哪些的介绍就先介绍到这里,更多javascript相关文章请关注我们!更多关于前端培训的问题,欢迎咨询千锋教育在线名师。千锋教育拥有多年IT培训服务经验,采用全程面授高品质、高体验培养模式,拥有国内一体化教学管理及学员服务,助力更多学员实现高薪梦想。