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 相关文章推荐
return false;和e.preventDefault();的区别
Jul 11 Javascript
JQuery跨Iframe选择实现代码
Aug 19 Javascript
24款非常有用的 jQuery 插件分享
Apr 06 Javascript
jquery时间下拉框小例子
Apr 15 Javascript
JavaScript等比例缩放图片控制超出范围的图片
Aug 06 Javascript
html向js方法传递参数具体实现
Aug 08 Javascript
javascript去掉代码里面的注释
Jul 24 Javascript
值得分享和收藏的Bootstrap学习教程
May 12 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
Nov 01 Javascript
Javascript ES6中数据类型Symbol的使用详解
May 02 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
Sep 07 Javascript
vue-router相关基础知识及工作原理
Mar 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发送post请求函数分享
2014/03/06 PHP
php session的锁和并发
2016/01/22 PHP
PHP 图片处理
2020/09/16 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
html+js实现动态显示本地时间
2013/09/21 Javascript
js控制不同的时间段显示不同的css样式的实例代码
2013/11/04 Javascript
删除Javascript Object中间的key
2014/11/18 Javascript
JavaScript获取指定元素位置的方法
2015/04/08 Javascript
javascript中返回顶部按钮的实现
2015/05/05 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
微信小程序swiper左右扩展各显示一半代码实例
2019/12/05 Javascript
vue.config.js中配置Vue的路径别名的方法
2020/02/11 Javascript
关于小程序优化的一些建议(小结)
2020/12/10 Javascript
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
Python中decorator使用实例
2015/04/14 Python
Python实现删除列表中满足一定条件的元素示例
2017/06/12 Python
Python实现可获取网易页面所有文本信息的网易网络爬虫功能示例
2018/01/15 Python
Python建立Map写Excel表实例解析
2018/01/17 Python
Python切片工具pillow用法示例
2018/03/30 Python
python实现windows壁纸定期更换功能
2019/01/21 Python
基于wxPython的GUI实现输入对话框(1)
2019/02/27 Python
对python中url参数编码与解码的实例详解
2019/07/25 Python
Python基本语法之运算符功能与用法详解
2019/10/22 Python
pytorch 模拟关系拟合——回归实例
2020/01/14 Python
房地产融资计划书
2014/01/10 职场文书
美国探亲签证邀请信
2014/02/05 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
求职简历自荐信
2014/06/18 职场文书
群众路线调研报告范文
2014/11/03 职场文书
护士长2014年终工作总结
2014/11/11 职场文书
2015年学校食堂工作总结
2015/04/22 职场文书
2015年中职班主任工作总结
2015/05/25 职场文书
Golang中interface{}转为数组的操作
2021/04/30 Golang