javascript中new Array()和var arr=[]用法区别


Posted in Javascript onDecember 01, 2017

大家在学习javascript中对于数组函数new Array()和var arr=[]很多朋友不知道如何区别,也不知道用法,下面看看我们总结的。

var arr=[]

这是一种字面量定义数组的方法

var arr=new Array()

这是调用数组构造函数生成的数组

上面的2种定义数组的方法到底一样不一样

目前我们大致的认同是下面这样的

用new 关键字去内存开辟一个存储地址比较耗资源,耗内存.

而字面量方式直接在内存开辟一个存储字段相对简单,不耗资源.

我们首先不去否定上面的结论对不对.

首先从功能上来说 var =arr=[] 和 var arr= new Array() 是一样的.

然后我们用一段代码来验证一下

var startTime=new Date().getTime();
var test1=[];
var test2=[];
for(var i=0;i<1000000;i++){
  //test1[i]={};
  test2[i]=new Object();
}

var endTime=new Date().getTime();
console.log('输出耗时:',endTime-startTime);

上面 test1 和 test2 2个数组中每个元素都是一个数组,可以依次注释任意一行代码,我大概测试10多次以上

结果

36**
36**

上面的2个耗时都是 3600 秒左右,忽上忽下,没有丝毫大的差距

我的运行话就 MacBook Air (13-inch, Mid 2013) ,处理器:1.3 GHz Intel Core i5 , 内存: 4 GB 1600 MHz DDR3 , JS Runner 工具

所以姑且认为上面的2种方法差异不大.

[ ]和new Array()在语法上唯一的区别是new Array()可以直接设置数组的长度

new Array() 在构造数组的时候有下面几种方法

var arr = new Array();
var arr = new Array(8);
var arr = new Array("c", "d", “e”);
字面量方式
var d = ["111", "222", "333"];

所以在性能上这2个方法没有太大差距,只是一种使用习惯,字面量更加直接了当.

退一步讲,如果我用 var arr=[‘111','222','333']; 定义一个数组的时候,难道它没有通过构造函数在内存中开辟一个存放地址吗?

js中数组Array的一些常用方法总结

var list = new Array()是我们在js中常常写到的代码,今天就总结哈Array的对象具有哪些方法。

list[0] = 0;

list[1] = 1;

list[2] = 2;

或者这样声明:var list = [0,1,2]

1 shift()t:删除数组的第一个元素,返回删除的值。这里是0

2 unshift(3,4):把参数加载数组的前面,返回数组的长度。现在list:中是3,4,0,1,2

3pop():删除数组的最后一个元素,返回删除的值。这里是2.

4push(3):将参数加载到数组的最后,返回数组的长度,现在List中时:0,1,2,3

5concat(3,4):把两个数组拼接起来。

6splice(start,deleteCount,val1,val2,...):从start位置开始删除deleteCount项,并从该位置起插入val1,val2,...

reverse:将数组反序
var a = [1,2,3,4,5];
var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]

sort(orderfunction):按指定的参数对数组进行排序
var a = [1,2,3,4,5];
var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]

slice(start,end):返回从原数组中指定开始下标到结束下标之间的项组成的新数组
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]

join(separator):将数组的元素组起一个字符串,以separator为分隔符,省略的话则用默认用逗号为分隔符
var a = [1,2,3,4,5];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"

Javascript 相关文章推荐
9个JavaScript评级/投票插件
Jan 18 Javascript
不使用中间变量,交换int型的 a, b两个变量的值。
Oct 29 Javascript
javascript跨域刷新实现代码
Jan 01 Javascript
JS验证控制输入中英文字节长度(input、textarea等)具体实例
Jun 21 Javascript
Javascript/Jquery——简单定时器的多种实现方法
Jul 03 Javascript
jQuery.event兼容各浏览器的event详细解析
Dec 18 Javascript
JavaScript中判断原生函数检查function是否是原生代码
Sep 09 Javascript
js获取元素外链样式的方法
Jan 27 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
Sep 21 Javascript
jstree创建无限分级树的方法【基于ajax动态创建子节点】
Oct 25 Javascript
Bootstrap实现可折叠分组侧边导航菜单
Mar 07 Javascript
微信小程序tabBar设置实例解析
Nov 14 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
Dec 01 #Javascript
利用JS测试目标网站的打开响应速度
Dec 01 #Javascript
Vue-Access-Control 前端用户权限控制解决方案
Dec 01 #Javascript
javascript按顺序加载运行js方法
Dec 01 #Javascript
AngularJS2 与 D3.js集成实现自定义可视化的方法
Dec 01 #Javascript
javascript Function函数理解与实战
Dec 01 #Javascript
React Native react-navigation 导航使用详解
Dec 01 #Javascript
You might like
如何使用php绘制在图片上的正余弦曲线
2013/06/08 PHP
Laravel 5框架学习之路由、控制器和视图简介
2015/04/07 PHP
Smarty模板引擎缓存机制详解
2016/05/23 PHP
PHP会话操作之cookie用法分析
2016/09/28 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
php实现往pdf中加数字签名操作示例【附源码下载】
2018/08/07 PHP
JQuery文本框高亮显示插件代码
2011/04/02 Javascript
javascript针对DOM的应用分析(四)
2012/04/15 Javascript
js 去除字符串第一位逗号的方法
2014/06/07 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
node.js实现博客小爬虫的实例代码
2016/10/08 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
JavaScript 数组的深度复制解析
2016/11/02 Javascript
Ajax基础知识详解
2017/02/17 Javascript
JavaScript 基础表单验证示例(纯Js实现)
2017/07/20 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
vue2.0 路由模式mode=&quot;history&quot;的作用
2018/10/18 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
Javascript 类型转换、封闭函数及常见内置对象操作示例
2019/11/15 Javascript
python将秒数转化为时间格式的实例
2018/09/16 Python
Python实现微信消息防撤回功能的实例代码
2019/04/29 Python
布隆过滤器的概述及Python实现方法
2019/12/08 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
Pycharm连接远程服务器过程图解
2020/04/30 Python
利用python对excel中一列的时间数据更改格式操作
2020/07/14 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
python绘制高斯曲线
2021/02/19 Python
深入浅析css3 中display box使用方法
2015/11/25 HTML / CSS
会计电算一体化个人简历的自我评价
2013/10/15 职场文书
实习鉴定范文
2013/12/19 职场文书
总裁助理岗位职责
2014/02/17 职场文书
献爱心捐款倡议书
2014/05/14 职场文书
课例研修方案
2014/05/31 职场文书
煤矿安全协议书
2014/08/20 职场文书
初中国旗下的演讲稿
2014/08/28 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书