iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >javascript的引用数据类型有哪些
  • 194
分享到

javascript的引用数据类型有哪些

2024-04-02 19:04:59 194人浏览 泡泡鱼
摘要

这篇文章主要介绍“javascript的引用数据类型有哪些”,在日常操作中,相信很多人在javascript的引用数据类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”

这篇文章主要介绍“javascript的引用数据类型有哪些”,在日常操作中,相信很多人在javascript的引用数据类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”javascript的引用数据类型有哪些”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

在javascript中,引用数据类型是一种数据结构,用于将数据和功能组织在一起;它也常被称为类。引用类型的值是保存在内存中的对象(同时保存在栈内存和堆内存中);引用类型的值是按引用访问的。

教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。

数据类型指的是可以在程序中存储和操作的值的类型,每种编程语言都有其支持的数据类型,不同的数据类型用来存储不同的数据,例如文本、数值、图像等。

JavaScript 中的数据类型可以分为两种类型:

  • 基本数据类型(值类型):字符串(String)、数字(Number)、布尔(Boolean)、空(Null)、未定义(Undefined)、Symbol;

  • 引用数据类型:对象(Object)、数组(Array)、函数(Function)。

JavaScript引用数据类型

引用类型

在ECMAScript中,引用类型是一种数据结构,用于将数据和功能组织在一起(它也常被称为类)。

引用类型的值是保存在内存中的对象(同时保存在栈内存和堆内存中)。JavaScript 不允许直接访问内存中的位置,因此在操作对象时,实际上是操作的对象的引用而不是实际的对象。引用类型的值按引用访问。

Object类型

创建Object实例的方式有两种。第一种是使用new操作符后跟Object构造函数,例如;

var person = new Object();
 person.name = "Nicholas";
 person.age = 29;

另一种方式是使用对象字面量表示法。 例如:

var person = {
 name : "Nicholas",
 age ; 29
 }

注意:在通过对象字面量定义对象时,实际上不会调用Object构造函数。

Array类型

创建数组的基本方式有两种。第一种是使用Array构造函数,例如:

var colors = new Array();

第二种基本方式是使用数组字面量表示法。数组字面量由一对包含数组项的方括号表示,多个数组项之间以逗号隔开,例如:

var colors = ["red","blue","green"];
检测数组

instanceof操作符假定只有一个全局执行环境。为了解决只个问题,ECMAScript 5新增了Array.isArray()方法。这个方法的目的是最终确定某个值到底是不是数组,而不管它是在哪个全局执行环境中创建的。

转换方法
toLocaleString()、toString()和valueOf()方法

所有对象都具有toLocaeString()、toString()和valueOf()方法。
调用数组的toString()方法会返回以逗号分隔的字符串;
调用toLocaleString( )和toString()一样,但是该字符串与执行环境的地区对应;
调用valueOf()返回的还是数组。

join()方法

join()方法只接受一个参数,即用作分隔符的字符串,然后返回包含所有数组项的字符串。

栈方法(后进先出)

ECMAScript为数组专门提供了push()和pop()方法,以便实现类似栈的行为。push()方法可以接受任意数量的参数,把他们逐个添加到数组末尾,并返回修改后数组的长度。pop()方法则从数组末尾一处最后一项,减少数组的length值,然后返回移除的项。

队列方法(先进先出)

shift()能够移除数组中的第一项并返回该项,同时将数组长度减一。结合使用shift()和push()方法,可以像使用队列一样使用数组。
ECMAScript还为数组提供了一个unshift()方法。顾名思义,unshift()与shift()的用途相反:它能在数组前端添加任意个项并返回新数组的长度。

重排序方法

reverse()方法会反转数组项的顺序。
在默认情况下,sort()方法按升序排列数组项——即最小的值位于最前面,最大的值排在最后面。为了实现排序,sort()方法会地哦啊用每个数组项的toString()转型方法,然后比较得到的字符串,以确定如何排序。这种排序方式在很多情况下都不是最佳方案,因此sort()方法可以接收一个比较函数作为参数,以便制定哪个值位于哪个值的前面。

reverse()和sort()方法的返回值是经过排序之后的数组

操作方法

concat()方法可以基于当前数组中的所有项创建一个新数组。
slice()方法能够基于当前数组中的一或多个项创建一个新数组。slice()方法可以接受一或者两个参数,即要返回项的起始和结束位置。(不会改变原数组)
splice()方法主要是向数组的中部插入值。(删除、插入、替换)该方法改变原数组的值。

位置方法

ECMAScript为数组实例添加了两个位置方法:indexOf()和lastindexOf()这两个方法都返回要查找的项在数组中的位置,或者在没有找到的情况下返回-1。这两个方法都接受两个参数:要查找的项和表示查找起点位置的索引(可选的)。

迭代方法

ECMAScript为数组定义了五个迭代方法:

every():对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 true。
filter():对数组中的每一项运行给定函数,返回该函数会返回 true 的项组成的数组。
forEach():对数组中的每一项运行给定函数。这个方法没有返回值。
map():对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。
some():对数组中的每一项运行给定函数,如果该函数对任一项返回 true,则返回 true。

归并方法

ECMAScript 5 还新增了两个归并数组的方法:reduce()和 reduceRight()。这两个方法都会迭代数组的所有项,然后构建一个最终返回的值。
使用 reduce()和reduceRight()方法可以执行求数组中所有值之和的操作,比如:
var values = [1,2,3,4,5];
var sum = values.reduce(function(prev, cur, index, array){
return prev + cur;
});
alert(sum); //15

Date类型

创建日期对象,使用new操作符和Date构造函数即可:
var now = new Date();
在调用Date构造函数而不传递参数的情况下,新创建的对象自动获得当前日期和时间。 为了可以接受表示日期的字符串参数,ECMAScript提供了两个方法:Date.parse()和Date.UTC()。
ECMAScript添加了Date.now()方法,返回表示调用这个方法时的日期和时间的毫秒数。

继承的方法

Date类型也重写了toLocaleString()、toString()和valueOf()方法。
toLocaleString()方法会按照与浏览器相适应的格式返回日期与时间,而toString()方法则通常返回带有时区信息的日期和时间。至于valueOf()方法,则根本不返回字符串,而是返回日期的毫秒表示。

Function类型

函数实际上是对象,函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。每个函数都是Function类型的实例,而且都与其他引用类型一样具有属性和方法。
函数通常是使用函数声明语法定义的:(函数声明提升)

function sum (sum1,sum2) {
 return sum1 + sum2;
 }

还有一种方式,使用函数表达式定义函数:

var sum = function(sum1,sum2) {
 return sum1 +sum2 ;
 };

注意:要访问函数指针而不执行函数的话,必须去掉函数名后面的圆括号。

函数内部属性

在函数内部,有两个特殊的对象:arguments和this。arguments是一个类数组对象,包含着传入函数中的所有参数。该对象有一个属性,该属性有一个指针,指向拥有这个arguments对象的函数。this引用的是函数据以执行的环境对象。(当在网页的全局作用域中调用函数时,this对象引用的就是window)

函数属性和方法

属性

每个函数都包含两个属性:length和prototype。
length属性表示函数希望接收的命名参数的个数。
对于ECMAScript中的引用类型而言,prototype是保存它们所有实例方法的真正所在。prototype属性是不可枚举的,所以使用for-in无效。

方法

每个函数都包含两个非继承而来的方法:apply()和call()
这两个方法的用途都是在特定的作用域中调用函数,实际上等于设置函数体内this对象的值。作用实例:1.传递参数 2.扩充函数赖以运行的作用域
EAMAScript还定义了一个方法:bind()
这个方法会创建一个函数的实例,其this值会被绑定到传给bind()函数的值。
每个函数继承的toLocaleString()、toString()和valueOf()方法始终都返回函数的代码。

对象

对象是某个特定引用类型的实例。新对象是使用new操作符后跟一个构造函数来创建的。

new

new运算符的作用是创建一个对象实例。这个对象可以是用户自定义的,也可以是带构造函数的一些系统自带的对象。如果 new 表达式之后的构造函数返回的不是JavaScript内置的引用对象(Object,String等)new会创建一个匿名对象并返回;如果是内置引用对象或者原始类型就会覆盖匿名对象。(无 return 时其实为 return 原始类型 undefined)

构造函数

构造函数本身就是一个函数,只不过该函数是出于创建新对象的目的而定义的。

JavaScript中object和Object的区别

object

使用typeof检测数据类型的时候,只要检查的变量是一个对象,或者是null,那么它就会返回object。

Object

Object 是 JavaScript 中一个重要的对象,其它对象都是基于它的,包括你创建的函数。

typeof 操作符和 instanceof 操作符的区别

确定一个值是哪种基本类型可以使用 typeof操作符,而确定一个值是哪种引用类型可以使用instanceof操作符。

function和Function

ECMAScript 的Function实际上就是一个功能完整的对象。而function这个关键字是用来创建所有对象的构造函数或者使用关键字来定义普通函数的类和对象,var a=new function(){}实际上是用构造函数的方法创建了一个匿名对象的实例,而并不是系统内置对象Function的实例。所以a instanceof Function返回false,typeof返回"object"。

什么时候typeof返回"function"呢?

function a (){ }
 //undefined
 typeof a
 //"function"

到此,关于“javascript的引用数据类型有哪些”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: javascript的引用数据类型有哪些

本文链接: https://www.lsjlt.com/news/86951.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • javascript的引用数据类型有哪些
    这篇文章主要介绍“javascript的引用数据类型有哪些”,在日常操作中,相信很多人在javascript的引用数据类型有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • javascript中有哪些引用数据类型
    本篇内容介绍了“javascript中有哪些引用数据类型”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • javascript的引用类型有哪些
    javascript中的引用类型有:1.object,对象;2.Array,数组;3.Function,函数;4.Date,日期时间类型;5.RegExp,正则表达式;javascript中的引用类型有以下几种Objectjavascrip...
    99+
    2024-04-02
  • javascript的数据类型有哪些
    javascript中的数据类型有:1.number,数字类型;2.string,字符串类型;3.boolean,布尔类型,4.null,空类型;5.undefined,未定义类型;6.object,对象;7.array,数组;8.func...
    99+
    2024-04-02
  • JavaScript有哪些数据类型
    JavaScript有哪些数据类型?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。number类型值包括整数、浮点数、NaN、Infinity等。其中NaN类型是js中唯一不等于...
    99+
    2023-06-15
  • javascript有哪些常用的数据类型
    这篇文章主要讲解了“javascript有哪些常用的数据类型”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javascript有哪些常用的数据类型”吧! ...
    99+
    2024-04-02
  • javaScript引用类型与基本类型有哪些
    这篇文章主要讲解了“javaScript引用类型与基本类型有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“javaScript引用类型与基本类型有哪些”吧!  1. 概念:  基本类型也...
    99+
    2023-06-04
  • Javascript内置引用类型有哪些
    这篇“Javascript内置引用类型有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“...
    99+
    2024-04-02
  • JavaScript数据类型都有哪些
    这篇文章将为大家详细讲解有关JavaScript数据类型都有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、基本JavaScript数据类型在Java...
    99+
    2024-04-02
  • 数据库常用的索引类型有哪些
    常用的数据库索引类型包括:1. B-树索引:B-树(Balanced Tree)是一种平衡的多路搜索树,常用于关系型数据库中的索引结...
    99+
    2023-09-05
    数据库
  • Javascript中有哪些引用类型传递
    小编给大家分享一下Javascript中有哪些引用类型传递,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!JS里面哪些类型是引用类...
    99+
    2024-04-02
  • javascript复合数据类型有哪些
    javascript中的复合数据类型有:1.Object,对象;2.Array,数组;3.Function,函数;javascript中的复合数据类型有以下几种Objectjavascript中Object是指对象,对象由花括号分隔,且对象...
    99+
    2024-04-02
  • mysql数据库索引类型有哪些
    这篇文章主要介绍mysql数据库索引类型有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!本文将着重描述masql数据库索引的四种类型,数据库索引怎么建立?在WHERE和J...
    99+
    2024-04-02
  • 聊聊java中引用数据类型有哪些
    目录java中引用数据类型有哪些下面说说java中引用数据类型:一、类Class引用二、接口interface引用三、数组引用数组的定义数组的初始化初始化数组的两种方式:为什么Jav...
    99+
    2024-04-02
  • 不属于javascript的数据类型有哪些
    这篇文章给大家分享的是有关不属于javascript的数据类型有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Java的优点是什么1. 简单,只需理解基本的概念,就可以编写适合于各种情况的应用程序;2. 面向...
    99+
    2023-06-14
  • JavaScript的变量和数据类型有哪些
    本文小编为大家详细介绍“JavaScript的变量和数据类型有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“JavaScript的变量和数据类型有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。变量1、先...
    99+
    2023-06-27
  • javascript的复合数据类型有哪些呢
    本篇文章给大家分享的是有关javascript的复合数据类型有哪些呢,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。javascript复合数据...
    99+
    2024-04-02
  • JavaScript中的基本数据类型有哪些
    小编给大家分享一下JavaScript中的基本数据类型有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!一、区分大小写在JavaScript中,所有的一切(变量、函数和操作符)都区分大小...
    99+
    2024-04-02
  • javascript七大数据类型有哪些呢
    javascript七大数据类型有哪些呢,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。前言:各大语言都会有基本类型如python,java,c系列等,基本类型的存在是不可或...
    99+
    2023-06-22
  • JavaScript中数据类型的使用方法有哪些?
    JavaScript作为一门动态类型语言,它的数据类型使用方法非常灵活。在JavaScript中,数据类型主要分为基本数据类型和引用数据类型两大类。本文将会详细介绍JavaScript中各个数据类型的使用方法。 一、基本数据类型 Java...
    99+
    2023-11-02
    异步编程 javascript 数据类型
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作