JS引用类型

Posted liheishuai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS引用类型相关的知识,希望对你有一定的参考价值。

1. Object类型

  创建对象的方式

  1) 构造函数方式   var obj = new Object();   // Object为构造函数

  2)字面量方式  var obj = {}

2. Array类型

    ECMAscript数组的每一项可以保存任何类型的数据

  创建数组的方式

  1)var color = new Array();

  如果预先知道数组要保存的项目数量,可以给构造函数传递改数量,该数量会自动变成length属性的值

  var arr = new Array(20);

  也可以向构造函数中传递数组中应该包含的项

  var arr = new Array(‘xhk‘, ‘coco‘, ‘lover‘);

  如果给构造函数传递一个值

  这个值是数字, 创建包含给定项数的数组,

  这个值是其他类型参数,创建包含这个值只有一项的数组

  使用Array构造函数的时候可以省略new操作符

  var arr = Array(3);

  2) 数组字面量 var arr = [];

  检测数组

  instanceof Array

  栈方法(后进先出)

  push(): 接受任意数量的参数,把他们逐个添加到数组末尾,并返回修改后的数组的长度。

  pop(): 从数组末尾移除最后一项,减少数组的长度,并返回被移除的项。

  队列方法(先进先出)

  队列在列表的末端添加项,从列表的前端移除项。

  shift(): 从数组前端移除项,并返回该项。

  unshift(): 在数组前端添加任意个项并返回新数组的长度。

  

  重排序方法:reverse()  sort()

  reverse(): 反转数组项的顺序, 返回重新排序后的数组。

  sort(): 默认按升序排列数组项,小到大,为了实现排序sort()方法会调用每个数组项的toString()转型方法,然后比较得到字符串,以确定如何排序,即使数组中的每一   项都是数值,sort()方法比较的也是字符串。返回重新排序后的数组。

  var arr = [0, 1, 5, 15, 20];  // [0, 1, 15, 20, 5]

  操作方法

  concat(): 先创建一个当前数组的副本,然后将接收到的参数追加到这个副本的末尾,返回新构建的数组。如果传递给concat()方法的是一个或多个数组,该方法会将这   些数组中的每一项都添加到结果数组中。原数组不变。

  slice(): 基于当前数组的一个或多个项创建一个新数组。接受一个或两个参数,参数一:返回项的起始位置;参数二:返回项的结束位置;

  不会影响原始数组

  如果只有一个参数,则返回从该参数指定位置到数组末尾的所有项。

  如果两个参数,返回起始和结束位置之间的项, 不包含结束位置的项。

  如果slice()方法的参数中有一个是负数,则用数组长度加上该数来确定相应的位置,eg: arr.length = 5; slice(-2, -1); 实际上应该返回slice(3, 4)这一段新数组;

  splice(): 向数组中部插入项。返回包含从原始数组中删除的项。如果没有删除任何项,则返回一个空数组。

  1)删除:删除任意数量的项:返回被删除的项;两个参数,参数一,要删除的第一项的位置,参数二,要删除的项数。

  2)插入:指定位置插入任意数量的项,参数一,起始位置;参数二,0(要删除的项数);参数三,要插入的项

  3) 替换:向指定位置插入任意数量的项,且同时删除任意数量的项。参数一,起始位置;参数二,要删除的项数;参数三,要插入的任意数量项。

  位置方法

  indexOf(): 参数:参数一,要查找的项,参数二,(可选)表示查找起点位置的索引;从数组的二开头向后开始查找, 返回查找的项在数组中的位置

  lastIndexOf():参数:参数一,要查找的项,参数二,(可选)表示查找起点位置的索引;从数组的末尾开始向前查找,返回查找的项在数组中的位置

  迭代方法

  每个方法都接受两个参数,参数一,在每一项上运行的函数,参数二,(可选),运行该函数的作用域对象——影响this的值

  every(): 对数组中的每一项运行给定的函数,如果该函数的每一项都返回true,则返回true;

  filter(): 对数组中的每一项运行给定的函数,返回该函数会返回true的项组成的数组;查询符合某些条件的所有数组项有用。

  forEach(): 对数组中的每一项运行给定的函数,没有返回值。
  map():对数组中的每一项运行给定的函数,返回每次函数调用的结果组成的数组。适合创建包含的项与另一个数组一一对应的数组。

  some():对数组中的每一项运行给定的函数,如果该函数对任一项返回true,则返回true。


以上是关于JS引用类型的主要内容,如果未能解决你的问题,请参考以下文章

JS的数据类型-引用类型和基本类型

js 基本类型 引用类型 简单赋值 对象引用 底层原理分析

JS基本类型和引用类型

JS引用类型

js 值类型和引用类型

[ JS 进阶 ] 基本类型 引用类型 简单赋值 对象引用