javascript 高级程序设计(3) -- 对象基础(1)
1、面向对象术语
1.1、面向对象语言的要求
1)封装
2)聚集
3)继承
4)多态
2、对象的类型:本地对象(1)
2.1 本地对象
def:对立与宿主环境的ECMAScript实现提供的对象,简单的说就是ECMA-262定义的类。他们包括:
- Object
- Function
- Array
- String
- Boolean
- Number
- Date
- RegExp
- Error
- EvalError
- RangeError
- ReferenceError
- SyntaxError
- TypeError
- URIError
前面介绍了object 、Function、String、Boolean、Number对象,下面介绍另外2个对象:Array、Date
2.2 Array对象
属性:
- length: 返回数组的长度
方法:
- join() -- 用指定的参数连接数组中的每个元素
- toString() --对数组中的各个元素调用toString()方法,最后返回连接起来的字符串
- concat() --同string的concat类似,将数组加到后面返回新对象
- slice() --与string的slice类似,返回特定的项数,可以指定一个或两个参数
- push() --像栈结构一样,将一个元素压进栈中
- pop() --将最后一个弹出栈中
- shift() --像队列中的出队一样,将数组的第一项从数组中移除,并返回
- unshift() --像队列中的入队一样,将元素插入到数组的第一项中,并返回
- sort() --将数组中的值按升序进行排序
- reverse --颠倒数组的顺序
- splice --这是数组中的最复杂的方法,作用是把数据项插入数组的中部。它的变体有以下3种形式:
1、删除 --只需声明两个参数,就可以删除任意多个项,第一个参数指定要删除的第一项的位置,第二项指定删除的数目
2、替换并不删除 --声明三个参数,这三个参数是起始位置、0(要删除数组项的个数),和要插入的项
3、替换并删除 --同上,只是第二个参数非0指定要删除的项数。
<script type="text/javascript">
var geoType=["Geometry","Point","Polygon","Polyline"];
document.write(geoType.toString()+"<br/>");
geoType.splice(0,1);
document.write("在使用splice(0,1)后:"+geoType.toString()+"<br/>");
geoType.splice(0,0,"Triangle","Rectangle","test");
document.write("在使用splice(0,0,'Triangle','Rectangle','test')后:"+geoType.toString()+"<br/>");
geoType.splice(2,1,"MultiPoints","MultiPolyline");
document.write("在使用splice(2,1,'MultiPoints','MultiPolyline')后:"+geoType.toString()+"<br/>");
</script>
2.3 Date对象
ECMAScript把日期存储为距离1970年1月1日凌晨12的毫秒数。可以使用parse()和UTC()方法设置时间,支持下面的格式
- mm/dd/yyyy (如3/29/2008)
- mmmm dd.yyyy (如March 3,2008)
如果传递给parse()方法的参数不能转换为日期返回NaN,使用UTC对年月日分开设置,注意的是月份是以0开头的所以
var date=new Date(Date.UTC(2008,2,29)) //2008年3月29号是这样表示的
下面是一些用于创建特定日期的字符串表示方法:
- toDateString() --以实现的特定的格式显示Date的日期部分
- toTimeString() --以实现的特定的格式显示Date的时间部分
- toLocalString() --以地点特点的格式显示Date的日期和时间
- toLocalDateString() --以地点特点的格式显示Date的日期
- toLocalTimeString() --以地点特点的格式显示Date的时间
- toUTCString() --以实现特定的格式显示Date的UTC时间
- getTimezoneOffset() --用来返回当前时区比UTC提前或落后的分钟数
-
isNaN() 方法
-
isFinite()方法
-
parseInt() 方法
-
parseFloat() 方法
-
encodeURI()方法 --用于编码URI,器用于处理完整的URI
-
encodeURIComponent()方法 --用于编码部分字符串
-
decodeURI()
-
decodeURIComponent()
-
eval() 方法 --这是ECMAScript中最强大的方法,接受一个参数,该方法就像整个ECMAScript的解释程序
下面是其属性
属性 | 说明 |
undefined | Undefined类型的字面量 |
Nan | 非数的专用值 |
Object | Object的构造函数 |
Function | Function的构造函数 |
Boolean | Boolean的构造函数 |
String | String的构造函数 |
Number | Number的构造函数 |
Date | Date的构造函数 |
RegExp | RegExp的构造函数 |
Error | Error的构造函数 |
EvalError | EvalError的构造函数 |
RangeError | RangeError的构造函数 |
Reference | Reference的构造函数 |
SyntaxError | SyntaxError的构造函数 |
TypeError | TypeError的构造函数 |
URIError | URIError的构造函数 |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步