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 相关文章推荐
jQuery对象初始化的传参方式
Feb 26 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
Nov 27 Javascript
解决jQuery使用JSONP时产生的错误
Dec 02 Javascript
原生javascript实现分享到朋友圈功能 支持ios和android
May 11 Javascript
JQuery 的跨域方法推荐_可跨任何网站
May 18 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
Jul 07 Javascript
jQuery Validate插件实现表单验证
Aug 19 Javascript
类似于QQ的右滑删除效果的实现方法
Oct 16 Javascript
Bootstrap CDN和本地化环境搭建
Oct 26 Javascript
Vue.js学习教程之列表渲染详解
May 17 Javascript
详解Vue 全局变量,局部变量
Apr 17 Javascript
vue elementUI table 自定义表头和行合并的实例代码
May 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出错界面
2006/10/09 PHP
php防盗链的常用方法小结
2010/07/02 PHP
PHP 进度条函数的简单实例
2017/09/19 PHP
(推荐一个超好的JS函数库)S.Sams Lifexperience ScriptClassLib
2007/04/29 Javascript
document.compatMode介绍
2009/05/21 Javascript
Jquery 学习笔记(一)
2009/10/13 Javascript
JavaScript Event学习第五章 高级事件注册模型
2010/02/07 Javascript
juqery 学习之三 选择器 子元素与表单
2010/11/25 Javascript
Jquery中获取iframe的代码
2011/01/11 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
jQuery中change事件用法实例
2014/12/26 Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
2016/12/26 Javascript
JavaScript数据结构之二叉树的删除算法示例
2017/04/13 Javascript
Node.js+ES6+dropload.js实现移动端下拉加载实例
2017/06/01 Javascript
微信小程序 监听手势滑动切换页面实例详解
2017/06/15 Javascript
使用JS组件实现带ToolTip验证框的实例代码
2017/08/23 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
Angularjs实现控制器之间通信方式实例总结
2018/03/27 Javascript
jQuery实现的隔行变色功能【案例】
2019/02/18 jQuery
python使用scrapy解析js示例
2014/01/23 Python
Python爬取网页中的图片(搜狗图片)详解
2017/03/23 Python
Python3以GitHub为例来实现模拟登录和爬取的实例讲解
2020/07/30 Python
python FTP编程基础入门
2021/02/27 Python
Bailey帽子官方商店:Bailey Hats
2018/09/25 全球购物
M.M.LaFleur官网:美国职业女装品牌
2020/10/27 全球购物
审核会计岗位职责
2013/11/08 职场文书
建筑投标担保书
2014/05/20 职场文书
工商局副局长个人对照检查材料
2014/09/25 职场文书
公安机关正风肃纪剖析材料
2014/10/10 职场文书
店铺转让协议书
2014/12/02 职场文书
拾金不昧表扬稿
2015/01/16 职场文书
班主任工作实习计划
2015/01/16 职场文书
应届生简历自我评价
2015/03/11 职场文书
员工家属慰问信
2015/03/24 职场文书
MySQL 重命名表的操作方法及注意事项
2021/05/21 MySQL
MySQL索引 高效获取数据的数据结构
2022/05/02 MySQL