,,JavaScript的八种数据类型

,,JavaScript的八种数据类型

本文主要分享JavaScript的八种数据类型。在ES5中,我们都认可六种数据类型,但是在ES6中有一个新的符号,在Google版本67中有一个bigInt,指的是大整数的安全存储和操作。我们像下面这篇文章一样来看看这八种数据类型的详细介绍。

一.序言二动态数据类型2.1字符串string2.2数字number2.3 boolean2.4 null和未定义2.5 symbol2.6 object III。基本数据类型和引用数据类型的区别3.1声明变量时的内存分配不同3.2正是因为内存分配不同,复制变量时的结果才不同3.3不同的参数传递

目录

在ES5中,我们确实知道六种数据类型:数字、字符串、布尔、未定义、对象、空。

ES6中有一个新符号。这种类型的对象从不相等,即在创建之初就传入相同的值,可以解决属性名冲突的问题,并作为一个标记。

Google版还有一个bigInt。指的是大整数的安全存储和操作。

所以:准确的说,目前共有8种JS数据类型!

NumberStringBooleanNullUndefinedObjectSymbolBigInt

按照类型来分有基本数据类型和引用数据类型:

基本数据类型:字符串、数字、布尔、空、未定义、符号

引用数据类型:对象[对象是一个大类,函数function,数组array,date date等。全部属于对象]

一、前言

JavaScript有一个动态类型。这意味着相同的变量可以用作不同的类型。

JavaScript变量看似简单,因为它声明变量只需要一个“var”,不像其他编程语言严格区分数据类型(int/double/char/boolean.).这也是有益的。变量可以被赋予任何类型的值,也可以被赋予不同类型的值。不是“终身”

var x=1;//数字类型

var x=0.1//数字类型,JS不区分整数值和浮点数值

//现在x从数字变成了字符串

var x=' hello world//由双引号内的文本组成的字符串

var x=' javascript//单引号内的文本也可以形成字符串。

//现在X从字符串变为布尔值

var x=true//true和false作为布尔值

var x=null

var x=未定义;//null类似于undefined,是一种特殊类型。

二、动态数据类型

字符串是存储诸如“比尔盖茨”等字符的变量。

字符串可以是引号中的任何文本。您可以使用单引号或双引号。

使用单引号或双引号。单引号之间没有区别。不要嵌套单引号。同样的,如果你想嵌套引号,你需要对它们进行转义。

var=‘孙悟空’;//单引号字符串

Var str2='猪八戒';//双引号字符串

其他转义字符:

\n表示换行符\r表示回车符\t水平制表符tab\ '单引号\ '双引号\ \反斜杠\uXXXX四位十六进制表示unicode字符串\xXX两位十六进制表示拉丁字符。

字符串拼接:

var str1=' hello

var str2=' world

var str=str1 str2

console . log(str);//helloworld

2.1 字符串string

JavaScript只有一种数值类型。数字可能有也可能没有小数点。

var num1=5.02//用小数点来写

var num2=520//不使用小数点书写

//通过科学(指数)计数可以写出最大或最小数。

var y=123e5//12300000

var z=123 e-5;//0.00123

数值范围:

5e324 ~ 1.7976931348623157e 308如果超出范围,则表示为无穷大或-无穷大。

特殊的数值NaN:

NaN是一个数字类型,是一个数值特征。1:NaN和任何数字之间的任何运算都会产生一个NaN特征。2: Nan不等于任何数,包括它本身。

相关函数:

Is()判断数据是否为isNaN,如果是,则返回true否则返回falseisFinite()判断数据是否在范围内,如果在范围内则返回true否则,它返回false。

//NaN是一个特殊的数字,它不等于所有其他值,包括它本身

console . log(NaN===NaN);//假

//识别NaN的唯一方法

console . log(isNaN(NaN));//真

//范围:5e 324 ~ 1。53600.68668686661

var min=5e324

var max=1.7976931348623157e 308

var a=1.7976931348623157e 309

console.log(分钟);//无穷大

console.log(最大);//1.7976931348623157e 308

console . log(a);//无穷大

console . log(is finite(a));//false(超出范围,不在数值范围内)

2.2 数值number

布尔(逻辑)只能有两个值:真或假。

var x=true

var y=false

2.3 布尔boolean

Null表示没有对象,这里没有值。

Undefined表示缺少该值。应该有一个值,但没有定义。

var x=null

变量y=未定义

2.4 null和undefined

Symbol函数可以接受一个字符串作为参数,为新创建的符号提供描述,并在控制台上显示或作为字符串使用,很容易区分。

let name=Symbol();

let name 2=Symbol(' bb ');

console.log(名称);//符号()

console.log(名称类型);//'符号'

console.log(名称,name 2);//Symbol()符号(bb)

console . log(name===name 2);//假

2.5 symbol

对象由花括号分隔。在括号内,对象的属性以键-值对的形式定义(名称:值)。属性由逗号分隔。

//空格和换行符无关紧要。声明可以跨多行。

var obj={

姓名:'张三':

“年龄”:18岁

}

(这里,键名也可以不带引号)

读取对象中属性:

名称=对象名称

//或者

name=obj['name']

2.6 对象object

三、基本数据类型与引用数据类型区别

因为基本数据类型占用的空间固定且小,所以会存储在堆栈中,也就是变量访问的位置。

引用数据类型存储在堆中,变量访问的其实是一个指针,指向存储对象的内存地址。

3.1 声明变量时不同的内存分配

复制基本数据类型后,这两个变量是独立的,因为值是复制的。

引用数据类型是指针的副本,两个变量指向的值就是指针指向的内容。一旦一方修改,另一方也会受到影响。

脚本类型='文本/javascript '

var x=3;

var y=x;

console.log(x,y);//3 3

//复制基本数据类型后两个变量是独立的。

x=5;//修改一方,另一方不受影响。

console.log(x,y);//5 3

var a=[0,1,2,3];

var b=a;

console.log(a,b);//(4) [0, 1, 2, 3] (4) [0, 1, 2, 3]

a[0]=9

console.log(a,b);//(4) [9, 1, 2, 3] (4) [9, 1, 2, 3]

/脚本

结果:

这里可以清楚的看到,B复制了A,改变了数组A的值,数组B也相应的改变了。这是因为当引用数据类型复制的是同一个指针而不是同一个值时,指针指向的地址都是一样的,一方会修改另一方,同样会受到影响!

(这里涉及JS的深抄和浅抄,这里就不赘述了。后面会有单独的文章来解释。)

3.2 正是因为内存分配不同,在复制变量时结果也不一样

基本数据类型将变量中的值传递给参数,然后参数和这个变量互不影响。

引用数据类型(这里以函数为例):虽然函数的参数都是传值的,但是引用值传的值是一个内存地址,实参和形参指向同一个对象,所以函数内部对这个参数的修改会反映到外部。

数据类型的转换和检测数据类型的方法会在其他文章中单独说明,为了方便阅读这里就不赘述了~

关于八种JavaScript数据类型的文章到此结束。关于更多相关的JavaScript数据类型,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

参考链接:

https://www.html.cn/qa/javascript/11619.html

https://www.cnblogs.com/nangezi/p/9049025.html

https://blog.csdn.net/u013592575/article/details/95087953

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: