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 相关文章推荐
javascript检查表单数据是否改变的方法
Jul 30 Javascript
Jquery动态添加及删除页面节点元素示例代码
Jun 16 Javascript
jQuery多级弹出菜单插件ZoneMenu
Dec 18 Javascript
JavaScript中eval函数的问题
Jan 31 Javascript
jQuery获取cookie值及删除cookie用法实例
Apr 15 Javascript
基于jquery实现三级下拉菜单
May 10 Javascript
Angularjs的启动过程分析
Jul 18 Javascript
ReactNative 之FlatList使用及踩坑封装总结
Nov 29 Javascript
JS插件clipboard.js实现一键复制粘贴功能
Dec 04 Javascript
Angular4.x Event (DOM事件和自定义事件详解)
Oct 09 Javascript
Vue将页面导出为图片或者PDF
Aug 17 Javascript
JavaScript实现H5接金币功能(实例代码)
Feb 22 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技术开发技巧分享
2010/03/23 PHP
解析mysql 表中的碎片产生原因以及清理
2013/06/22 PHP
php更新修改excel中的内容实例代码
2014/02/26 PHP
php版微信公众平台实现预约提交后发送email的方法
2016/09/26 PHP
解决form中action属性后面?传递参数 获取不到的问题
2017/07/21 PHP
js字符串转换成数字与数字转换成字符串的实现方法
2014/01/08 Javascript
js调用打印机打印网页字体总是缩小一号的解决方法
2014/01/24 Javascript
js/jquery判断浏览器类型的方法小结
2015/05/12 Javascript
jQuery实现带有洗牌效果的动画分页实例
2015/08/31 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
微信小程序 检查接口状态实例详解
2017/06/23 Javascript
微信小程序实现MUI数字输入框效果
2018/01/31 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
[01:00:25]NB vs Secret 2018国际邀请赛小组赛BO1 B组加赛 8.19
2018/08/21 DOTA
python局部赋值的规则
2013/03/07 Python
Python中的Numpy入门教程
2014/04/26 Python
python 利用栈和队列模拟递归的过程
2018/05/29 Python
python3.7.0的安装步骤
2018/08/27 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
python3 dict ndarray 存成json,并保留原数据精度的实例
2019/12/06 Python
python十进制转二进制的详解
2020/02/07 Python
Python常用类型转换实现代码实例
2020/07/28 Python
Blue Nile台湾:钻石珠宝商,订婚首饰、结婚戒指和精品首饰
2017/11/24 全球购物
口腔医学技术应届生求职信
2013/11/09 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
安全大检查反思材料
2014/01/31 职场文书
《三峡》教学反思
2014/03/01 职场文书
大学生见习期满自我鉴定
2014/09/13 职场文书
公司合并协议书范本
2014/09/30 职场文书
自我查摆剖析材料
2014/10/11 职场文书
人事局接收函
2015/01/30 职场文书
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python