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实现页面自适应
Jan 19 Javascript
Javascript面向对象扩展库代码分享
Mar 27 Javascript
js 图片随机不定向浮动的实现代码
Jul 02 Javascript
js中文逗号转英文实现
Feb 11 Javascript
JS原型链怎么理解
Jun 27 Javascript
AngularJS教程之简单应用程序示例
Aug 16 Javascript
jquery插入兄弟节点的操作方法
Dec 07 Javascript
Javascript实现找不同色块的游戏
Jul 17 Javascript
不得不看之JavaScript构造函数及new运算符
Aug 21 Javascript
详解使用vuex进行菜单管理
Dec 21 Javascript
redux中间件之redux-thunk的具体使用
Apr 17 Javascript
JS实现容器模块左右拖动效果
Jan 14 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
提问的智慧
2006/10/09 PHP
PHP学习之数组值的操作
2011/04/17 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
PHP的PDO连接讲解
2019/01/24 PHP
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
js封装的textarea操作方法集合(兼容很好)
2010/11/16 Javascript
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
jQuery根据元素值删除数组元素的方法
2015/06/24 Javascript
js表单验证实例讲解
2016/03/31 Javascript
详解Vue路由开启keep-alive时的注意点
2017/06/20 Javascript
bootstrapvalidator之API学习教程
2017/06/29 Javascript
jQuery实现百度图片移入移出内容提示框上下左右移动的效果
2018/06/05 jQuery
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
JavaScript实现英语单词题库
2019/12/24 Javascript
js 计算月/周的第一天和最后一天代码
2020/02/01 Javascript
基于vue和websocket的多人在线聊天室
2020/02/01 Javascript
[40:01]OG vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
Python字典实现简单的三级菜单(实例讲解)
2017/07/31 Python
python中正则表达式与模式匹配
2019/05/07 Python
vue学习笔记之动态组件和v-once指令简单示例
2020/02/29 Python
对Python 字典元素进行删除的方法
2020/07/31 Python
H5 canvas中width、height和style的宽高区别详解
2018/11/02 HTML / CSS
澳大利亚领先的在线礼品网站:Gifts Australia
2020/08/15 全球购物
聚美优品的广告词
2014/03/14 职场文书
租房协议书
2014/04/10 职场文书
厂区绿化方案
2014/05/08 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
五年级学生评语大全
2014/12/26 职场文书
大学生个人简历自荐信
2015/03/06 职场文书
《中彩那天》教学反思
2016/02/24 职场文书
MySQL的join buffer原理
2021/04/29 MySQL
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL
Python Matplotlib库实现画局部图
2021/11/17 Python
Python中的 enumerate和zip详情
2022/05/30 Python