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去除空格的三种方法(正则/传参函数/trim)
Feb 06 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
Apr 12 Javascript
js传参数受特殊字符影响错误的解决方法
Oct 21 Javascript
JavaScript实现广告的关闭与显示效果实例
Jul 02 Javascript
JavaScript中三种常见的排序方法
Feb 24 Javascript
详解使用fetch发送post请求时的参数处理
Apr 05 Javascript
AngularJS自定义指令详解(有分页插件代码)
Jun 12 Javascript
vue.js select下拉框绑定和取值方法
Mar 03 Javascript
Vue加载json文件的方法简单示例
Jan 28 Javascript
详解新手使用vue-router传参时注意事项
Jun 06 Javascript
vue获取验证码倒计时组件
Aug 26 Javascript
使用Vue实现调用接口加载页面初始数据
Oct 28 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 和 XML: 使用expat函数(三)
2006/10/09 PHP
php检测文件编码的方法示例
2014/04/25 PHP
PHP+apc+ajax实现的ajax_upload上传进度条代码
2016/01/25 PHP
FleaPHP框架数据库查询条件($conditions)写法总结
2016/03/19 PHP
Yii针对添加行的增删改查操作示例
2016/10/18 PHP
php实现网页端验证码功能
2017/07/11 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
ExtJS 2.0 实用简明教程之布局概述
2009/04/29 Javascript
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
JavaScript 获取当前时间戳的代码
2010/08/05 Javascript
javascript是怎么继承的介绍
2012/01/05 Javascript
单击复制文字兼容各浏览器的完美解决方案
2013/07/04 Javascript
cookie.js 加载顺序问题怎么才有效
2013/07/31 Javascript
js动态给table添加/删除tr的方法
2013/08/02 Javascript
js中onload与onunload的使用示例
2013/08/25 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
利用jquery操作Radio方法小结
2014/10/20 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
JavaScript检测字符串中是否含有html标签实现方法
2015/07/01 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
前端学习笔记style,currentStyle,getComputedStyle的用法与区别
2016/05/28 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
javascript编写简易计算器
2017/05/06 Javascript
VueJS组件之间通过props交互及验证的方式
2017/09/04 Javascript
详解JS浏览器事件循环机制
2019/03/27 Javascript
通过vue写一个瀑布流插件代码实例
2019/09/07 Javascript
vue 实现用户登录方式的切换功能
2020/04/14 Javascript
openlayers实现地图弹窗
2020/09/25 Javascript
python脚本实现xls(xlsx)转成csv
2016/04/10 Python
python字典快速保存于读取的方法
2018/03/23 Python
windows环境下tensorflow安装过程详解
2018/03/30 Python
Tensorflow全局设置可见GPU编号操作
2020/06/30 Python
会计专业毕业生自我鉴定
2013/10/29 职场文书
大众服装店创业计划书范文
2014/01/01 职场文书
个人批评与自我批评材料
2014/10/17 职场文书
拔河比赛新闻稿
2015/07/17 职场文书