JavaScript笔记:对象及数组
一、对象
在javascript中,对象是拥有属性和方法的一种基本数据类型
1、创建object
创建object实例有如下两种方式:
- 使用new操作符后跟object构造函数创建,如下代码:
var person=new object(); person.name='nicholas'; person.age='29';
- 使用对象字面量表示法,如下代码:
var person={ name:'nicholas'; //在对象字面量中,使用逗号分隔不同属性 age:29 //最后一个属性后面不能加逗号 };
2、访问对象属性
- 用点表示法
alert(person.name);
- 方括号表示法
alert(person["name"]);
ps:从功能上来说,这两种访问对象属性的方法没有任何区别,但是方括号的优点在于,它可以通过变量来访问属性。
二、数组
1、创建数组
- 使用Array构造函数,如下代码:
var colors=new Array(); var colors=new Array(20); //如果预先知道数组要保存的项目数量,可以给构造函数传递该数量,而该数量会自动变成length属性的值 var colors=new Array("red","blue","green"); //向构造函数传递数组中应该包含的项
- 数组字面量表示法
数组字面量由一对包含数组项的方括号表示,多个数组之间用逗号隔开,如下代码:
var colors=["red","blue","green"]; //创建一个包含三个字符串的数组 var names=[]; //创建一个空数组
2、读取和设置数组的值
在读取和设置数组的值时,要使用方括号并提供相应值的基于0的数字索引,如下所示:
var colors=["red","blue","green"]; //定义一个字符串数组 alert(colors[0]); //弹出数组的第一项 colors[2]="black"; //修改第三项 colors[3]="yellow"; //新增第四项
ps:数组的length属性并不是只读的,因此,通过设置这个属性,可以从数组的末尾移除或向数组中添加新项。如下所示:
var colors=["red","blue","green"]; //创建一个包含三个字符串的数组 colors.length=2; //从数组的末尾移除一项 alert(colors[2]); //undefined
var colors=["red","blue","green"]; colors[colors.length]='black'; //在位置3添加一种颜色
3、数组的插入和删除
push方法
push方法在数组的尾部添加元素:
var colors=new Array(); //创建一个空数组 colors.push("red","green"); //在数组后面添加两个元素
pop方法
pop方法删除数组的最后一个元素:
var colors=new Array("red","blue","green"); colors.pop(); //删除数组的最后一项元素
var colors=new Array("red","blue","green"); var item=colors.pop();//pop方法也可以返回数组的最后一个元素 alert(item) //green
splice()
splice()可以删除任意数量的项,只需传入两个参数:要删除的第一项的位置和要删除的项数,例如,splice (0,2), 删除数组中前两项。当然splice(2,2)就是删除下标为2的数组元素。
var colors=new Array("red","blue","green"); colors.splice(1,2); //从数组的第二个元素开始 删除2个元素 alert(colors) //red
4、数组的排序
sort()方法
语法: arrayObject.sort(sortby) //sortby可选。规定排序顺序。必须是函数。
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。
比较函数应该具有两个参数 a 和 b,其返回值如下:
若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
若 a 等于 b,则返回 0。
若 a 大于 b,则返回一个大于 0 的值。
<script> var arr = [23,12,1,34,116,8,18,37,56,50]; var arr2 = arr.sort(function(a,b){ if (a>b) { return 1; }else if(a<b){ return -1 }else{ return 0; } }) console.log(arr2); //返回:[1, 8, 12, 18, 23, 34, 37, 50, 56, 116]
</script>
JavaScript笔记:对象及数组的更多相关文章
- javaScript(8)---对象和数组
javaScript(8)---对象和数组 学习要点: 1.Object类型 2.Array类型 3.对象中的方法 什么是对象,其实就是一种类型,即引用类型.而对象的值就是引用类型的实例.在ECMAS ...
- JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串;JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象
JSON.stringify()方法是将一个javascript值(对象或者数组)转换成为一个JSON字符串:JSON.parse()解析JSON字符串,构造由字符串描述的javascript值或对象
- javaScript遍历对象、数组总结(转载)
javaScript遍历对象.数组总结 转载来源 https://www.cnblogs.com/chenyablog/p/6477866.html 在日常工作过程中,我们对于javaScript遍 ...
- JavaScript 遍历对象、数组总结
在日常工作过程中,我们对于javaScript遍历对象.数组的操作是十分的频繁的,今天抽空把经常用到的方法小结一下,方便今后参考使用! javaScript遍历对象总结 1.使用Objec ...
- javascript中对象和数组的异同点
一.JS声明对象或数组 JS对象:{ } JS数组:[ ] 对象 var b={m:'123',n:'abc'};alert(b.m);alert(b.n); 一维数组 var a=[1,2,3];a ...
- JavaScript 之 对象/JSON/数组
对象 简单说,所谓对象,就是一种无序的数据集合,由若干个“键值对”(key-value)构成. var obj = { p: 'Hello World' }; 上面代码中,大括号就定义了一个对象,它被 ...
- JavaScript判断对象和数组
在调用后端接口时,由于后端接口的不规范统一,接口最外层在没有数据时返回的是空数组(其实更想要的是空json对象,接口返回的data数据应该统一返回json对象,便于扩展),而在有数据时返回的是json ...
- javascript笔记整理(数组对象)
1.属性 a.length--设置或返回数组元素的数目 var a=[1,2,3,45,5]; alert(a.length=6) 结果:6 alert(a[5]) 结果:undefined b.co ...
- 你不知道的JavaScript笔记----对象
对象: 1.定义对象属性 属性描述符(也称为:数据描述符) Object.defineProperty(Object,PropertyName,{ value: 6, writable: true, ...
随机推荐
- Eclipse动态web工程(Dynamic Web Project)添加jar文件的正确方法
Eclipse中,创建了动态web工程之后,如果需要添加新的jar文件,有两种方法.第一种是配置工程的“build path”,第二种则是将jar文件放在工程目录下的“/WebContent/WEB- ...
- QT QString 很全的使用 (转)
QString, QByteArray, 和 QVariant这三个类和容器有许多相同之处,并且在一些情况下可以被当作特殊的容器. 同样,像容器,这些类使用隐式共享来优化内存和速度. 我们将从QStr ...
- MVC学习网站
http://www.cnblogs.com/artech/archive/2012/04/10/how-mvc-works.html
- HTTP head 详解 (转)
HTTP(HyperTextTransferProtocol)是超文本传输协议的缩写,它用于传送WWW方式的数据,关于HTTP协议的详细内 容请参考RFC2616.HTTP协议采用了请求/响应模型.客 ...
- SQL Server 优化-执行计划
对于SQL Server的优化来说,优化查询可能是很常见的事情.由于数据库的优化,本身也是一个涉及面比较的广的话题, 因此本文只谈优化查询时如何看懂SQL Server查询计划.毕竟我对SQL Ser ...
- [2014.01.27]wfImage 图像处理组件 3.3
组件支持多种图片格式,包括bmp,jpg,gif,wmf,emf,ico,png,pcx,tif,tga,pcx,dcx等. 组件提供两种输出接口,包括保存,直接显示(您再也不用定时清理那些临时的垃圾 ...
- Delphi 使用CreateProcess创建进程并弹出进程PID值 (转)
var ExeName:PChar; StartupInfo:TStartupInfo; ProcessInfo:TProcessInformation;begin FillChar(Proc ...
- 关于C#循环图片GDI+内存不足异常的记录
循环大量图片的时候会报出GDI+内存不足的问题,这个问题困扰了我很久,下面是我的几个解决方案: 使用using(){}代码块来定义需要释放内存的变量.using代码块会在代码结束的时候释放变量,但是并 ...
- python getopt使用
函数getopt(args, shortopts, longopts = []) 参数args一般是sys.argv[1:] shortopts 短格式 (-) longopts 长格式(--) 命令 ...
- MVC4 +EasyUI 使用TreeGrid 方法
用easyui已经有2年了,换了新环境,要求用mvc开发,所以想把原来的项目直接用mvc重构. 在使用TreeGird的时候出现了问题,发现在转换为treegrid的json 很费劲,一直都是用的ea ...