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实现页面打印的三种方法
Mar 05 Javascript
JavaScript中的bold()方法使用详解
Jun 08 Javascript
jQuery中常用动画效果函数(日常整理)
Sep 17 Javascript
easyUI实现(alert)提示框自动关闭的实例代码
Nov 07 Javascript
全面总结Javascript对数组对象的各种操作
Jan 22 Javascript
vue.js利用defineProperty实现数据的双向绑定
Apr 28 Javascript
jQuery回调方法使用示例
Jun 26 jQuery
利用纯JS实现像素逐渐显示的方法示例
Aug 14 Javascript
详解微信小程序的 request 封装示例
Aug 21 Javascript
解决layui table表单提示数据接口请求异常的问题
Sep 24 Javascript
Typescript类型系统FLOW静态检查基本规范
May 25 Javascript
JS精髓原型链继承及构造函数继承问题纠正
Jun 16 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把session写入数据库示例
2014/02/26 PHP
ThinkPHP字符串函数及常用函数汇总
2014/07/18 PHP
Linux中为php配置伪静态
2014/12/17 PHP
PHP随机生成唯一HASH值自定义函数
2015/04/20 PHP
php验证码生成器
2017/05/24 PHP
PHP5.0 TIDY_PARSE_FILE缓冲区溢出漏洞的解决方案
2018/10/14 PHP
js活用事件触发对象动作
2008/08/10 Javascript
js日期相关函数总结分享
2013/10/15 Javascript
jQuery探测位置的提示弹窗(toolTip box)详细解析
2013/11/14 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
JS中Attr的用法详解
2017/10/09 Javascript
webpack v4 从dev到prd的方法
2018/04/02 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
Vue实现点击按钮复制文本内容的例子
2019/11/09 Javascript
JavaScript计算正方形面积
2019/11/26 Javascript
Nodejs环境实现socket通信过程解析
2020/07/03 NodeJs
Vue+axios封装请求实现前后端分离
2020/10/23 Javascript
Python实现多进程的四种方式
2019/02/22 Python
Django工程的分层结构详解
2019/07/18 Python
Django之提交表单与前后端交互的方法
2019/07/19 Python
python十进制转二进制的详解
2020/02/07 Python
python数据预处理方式 :数据降维
2020/02/24 Python
在django admin中配置搜索域是一个外键时的处理方法
2020/05/20 Python
django rest framework 自定义返回方式
2020/07/12 Python
CSS3实现千变万化的文字阴影text-shadow效果设计
2016/04/26 HTML / CSS
分享29个基于Bootstrap的HTML5响应式网页设计模板
2015/11/19 HTML / CSS
英国珠宝和手表专家:Pleasance & Harper
2020/10/21 全球购物
行政部主管岗位职责
2013/12/28 职场文书
毕业自我鉴定总结
2014/03/24 职场文书
实习协议书范本
2014/04/22 职场文书
乡镇平安建设汇报材料
2014/08/25 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
求职自荐信该如何书写?
2019/06/24 职场文书
Mysql数据库表中为什么有索引却没有提高查询速度
2022/02/24 MySQL