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 相关文章推荐
JS的document.all函数使用示例
Dec 30 Javascript
jQuery打印图片pdf、txt示例代码
Jul 22 Javascript
jQuery支持动态参数将函数绑定到事件上的方法
Mar 17 Javascript
基于JavaScript代码实现自动生成表格
Jun 15 Javascript
AngularJs  unit-testing(单元测试)详解
Sep 02 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
Sep 02 Javascript
3种vue组件的书写形式
Nov 29 Javascript
vue filter 完美时间日期格式的代码
Aug 14 Javascript
微信小程序点击顶部导航栏切换样式代码实例
Nov 12 Javascript
vue 实现websocket发送消息并实时接收消息
Dec 09 Javascript
vue data对象重新赋值无效(未更改)的解决方式
Jul 24 Javascript
vue axios请求成功却进入catch的原因分析
Sep 08 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
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
把从SQL中取出的数据转化成XMl格式
2006/10/09 PHP
php在多维数组中根据键名快速查询其父键以及父键值的代码
2011/05/07 PHP
PHP实现负载均衡的加权轮询方法分析
2018/08/22 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
Javascript事件热键兼容ie|firefox
2010/12/30 Javascript
打豆豆小游戏 用javascript编写的[打豆豆]小游戏
2013/01/08 Javascript
javascript中比较字符串是否相等的方法
2013/07/23 Javascript
form表单只提交数据而不进行页面跳转的解决方案
2013/09/18 Javascript
JS+CSS实现带小三角指引的滑动门效果
2015/09/22 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
vuejs 单文件组件.vue 文件的使用
2017/07/28 Javascript
webpack打包node.js后端项目的方法
2018/03/10 Javascript
JavaScript中call和apply方法的区别实例分析
2018/08/03 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
jQuery实现穿梭框效果
2021/01/19 jQuery
Python实现获取照片拍摄日期并重命名的方法
2017/09/30 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
Python探索之SocketServer详解
2017/10/28 Python
python函数式编程学习之yield表达式形式详解
2018/03/25 Python
Python使用pydub库对mp3与wav格式进行互转的方法
2019/01/10 Python
python中对数据进行各种排序的方法
2019/07/02 Python
Win10+GPU版Pytorch1.1安装的安装步骤
2019/09/27 Python
python爬虫开发之Beautiful Soup模块从安装到详细使用方法与实例
2020/03/09 Python
python字典和json.dumps()的遇到的坑分析
2020/03/11 Python
python uuid生成唯一id或str的最简单案例
2021/01/13 Python
matplotlib交互式数据光标实现(mplcursors)
2021/01/13 Python
以设计师精品品质提供快速时尚:PopJulia
2018/01/09 全球购物
施华洛世奇西班牙官网:SWAROVSKI西班牙
2019/06/06 全球购物
自我评价的正确写法
2013/09/19 职场文书
乡镇干部先进事迹材料
2014/02/03 职场文书
安卓程序员求职信
2014/02/28 职场文书
商场促销活动总结
2014/07/10 职场文书
先进典型事迹材料
2014/12/29 职场文书
入党积极分子半年考察意见
2015/06/02 职场文书
小学音乐课教学反思
2016/02/18 职场文书