博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
js学习笔记 chapter5 引用类型
阅读量:5136 次
发布时间:2019-06-13

本文共 1778 字,大约阅读时间需要 5 分钟。

1.Array类型

js中的数组与其他多数语言中的数组有着相当大的区别。虽然js中的数组与其他语言中的数组都是数据的有序列表,但是与其他语言不同的是:

1.js中的数组每一项都可以保存任何类型的数据。

2.js数组大大小可以动态调整的。

 

2.array的栈方法LIFO,js中的数组提供了一种让数组的行为类似于其他数据结构的方法。具体来说,数组可以表现的酒香栈一样,后者是一种可以限制插入和删除项的数据结构。js为数组专门提供了push()和pop()方法,一遍实现类似栈的行为。

push()方法可以接受任意数量的参数,把他们组个添加到数组末尾,并返回修改后数组的长度。而pop()方法则从数组的末尾移除最后一项,减少数组的length值,然后返回移除的项。

 

3.与栈方法相对应的是队列方法。array的队列方法是模仿队列的数据结构的访问规则FIFO(first in first out)。也是通过push方法来向数组末端添加项目。使用shift()方法来从数组前端取出第一个项目。同时将输出长度减少1.

js中的数组还有一个unshift()方法,unshift()与shift()的用法相反。它能在数组前端添加人一个项,并返回新数组的长度。使用unshift()方法和pop()方法可以反方向来模拟队列。在数组前端添加项目,在数组厚点移除项目。

 

5.重排序方法

reverse()和sort()方法。sort()方法可以按自定义的方式进行排序,有点类似C#中的ICampare的用法,即你自己要写一个排序规则函数,sort()方法再来调用你所写的排序函数。

eg1:

 

1 var values = [0,1,5,10,15];2 values.sort();3 alert(values);    //0,1,10,15,5
sort()默认排序

 

默认排序是根据字符的顺序来进行排序。但是不符合我们的要求。

 

1 function compare(value1,value2){ 2     if(value1 < value2){ 3         return -1; 4     }else if(value1 > value2){ 5         return 1; 6     }else{ 7         return 0; 8     } 9 }        10 11 var values = [0,1,5,10,15];12 values.sort(compare);13 alert(values);    //0,1,5,10,15;
View Code

 对于数值类型或者其alueOf()方法返回数值类型的对象类型,可以使用一个更简单的比较函数。

1 function compare(value1,value2){2      return value2 - value1;  3 }
更简单的方法

 

第五章小结

1.引用类型与传统面向对象中的类相似,但实现不同;

2.Object类是一个基础类型,其他所有类型都从Object继承了基本的行为;

3.array类型是一组值的有序列表,同时还提供了操作和转换这些值的功能;

4.Date类型提供了有关日期和时间的信息,包括当前日期和时间以及相关的计算功能;

5.RegExp类型是js支持正则表达式的一个接口,提供了最基本的和一些高级的正则表达式功能;

6.函数实际上也是Function类型的实例,因此函数也是对象;而这一点正是js最具特点的地方,由于函数是对象,所以函数也拥有方法,可以用来增强其行为;

7.因为有了基本包装类型,所以js中的基本类型值可以当作对象来访问。三种基本包装类型分别是:boolean、number和string,以下是他们共同的特征:

(1)每个包装类型都映射到同名的基本类型;

(2)在读取模式下访问基本类型值时,就会创建对应的基本包装类型的一个对象,从而方便了数据操作

(3)操作基本类型值的语句一经执行完毕,就会立即销毁新创建的包装对象。

所有代码执行之前,作用域中及已经存在两个内置对象:Global和Math。

转载于:https://www.cnblogs.com/353373440qq/p/3556741.html

你可能感兴趣的文章
alter database databasename set single_user with rollback IMMEDIATE 不成功问题
查看>>
【题解】青蛙的约会
查看>>
autopep8
查看>>
GIT在Linux上的安装和使用简介
查看>>
Android 官方新手指导教程
查看>>
幸运转盘v1.0 【附视频】我的Android原创处女作,请支持!
查看>>
[51nod] 1199 Money out of Thin Air #线段树+DFS序
查看>>
安装 Express
查看>>
存储(硬件方面的一些基本术语)
查看>>
观察者模式
查看>>
Weka中数据挖掘与机器学习系列之基本概念(三)
查看>>
Win磁盘MBR转换为GUID
查看>>
leetcode-Sort List
查看>>
中文词频统计
查看>>
Java泛型的基本使用
查看>>
bzoj2038 [2009国家集训队]小Z的袜子(hose)
查看>>
Java反射机制及其Class类浅析
查看>>
Postman-----如何导入和导出
查看>>
移动设备显示尺寸大全 CSS3媒体查询
查看>>
图片等比例缩放及图片上下剧中
查看>>