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 相关文章推荐
Firefox getBoxObjectFor getBoundingClientRect联系
Oct 26 Javascript
js简单实现让文本框内容逐个字的显示出来
Oct 22 Javascript
Express作者TJ告别Node.js奔向Go
Jul 14 Javascript
node.js中的socket.io的广播消息
Dec 15 Javascript
jquery获得当前html页面源码的方法
Jul 14 Javascript
向JavaScript的数组中添加元素的方法小结
Oct 24 Javascript
JS中的数组方法笔记整理
Jul 26 Javascript
深入浅析AngularJS中的一次性数据绑定 (bindonce)
May 11 Javascript
小程序实现自定义导航栏适配完美版
Apr 02 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
Mar 02 Javascript
js实现双色球效果
Aug 02 Javascript
使用Canvas绘制一个游戏人物属性图
Mar 25 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 checkdate、getdate等日期时间函数操作详解
2010/03/11 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
php设计模式之策略模式应用案例详解
2019/06/17 PHP
php设计模式之代理模式分析【星际争霸游戏案例】
2020/03/23 PHP
Firefox window.close()的使用注意事项
2009/04/11 Javascript
javascript获得CheckBoxList选中的数量
2009/10/27 Javascript
JS 遮照层实现代码
2010/03/31 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
Javascript合并表格中具有相同内容单元格示例
2013/08/11 Javascript
Js点击弹出下拉菜单效果实例
2013/08/12 Javascript
js拖拽一些常见的思路方法整理
2014/03/19 Javascript
调用jQuery滑出效果时闪烁的解决方法
2014/03/27 Javascript
基于node实现websocket协议
2016/04/25 Javascript
深入剖析javascript中的exec与match方法
2016/05/18 Javascript
JS获取子窗口中返回的数据实现方法
2016/05/28 Javascript
JS原型对象的创建方法详解
2016/06/16 Javascript
轻松5句话解决JavaScript的作用域
2016/07/15 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
Vue Ajax跨域请求实例详解
2017/06/20 Javascript
js中数组对象去重的两种方法
2019/01/18 Javascript
node之本地服务器图片上传的方法示例
2019/03/26 Javascript
js实现简单贪吃蛇游戏
2020/05/15 Javascript
[45:52]2018DOTA2亚洲邀请赛 4.1小组赛 A组加赛 LGD vs Liquid
2018/04/02 DOTA
Python进阶之自定义对象实现切片功能
2019/01/07 Python
python中@property和property函数常见使用方法示例
2019/10/21 Python
python实现ftp文件传输系统(案例分析)
2020/03/20 Python
Monnier Freres中文官网:法国领先的奢侈品配饰在线零售商
2017/11/01 全球购物
后勤采购员岗位职责
2013/12/19 职场文书
工程班组长岗位职责
2013/12/30 职场文书
公司新员工的演讲稿注意事项
2014/01/01 职场文书
城管大队整治方案
2014/05/06 职场文书
2015年生活老师工作总结
2015/05/27 职场文书
pycharm部署django项目到云服务器的详细流程
2021/06/29 Python
pycharm安装深度学习pytorch的d2l包失败问题解决
2022/03/25 Python