您的位置:首页 > Web前端 > JavaScript

javascript 高级程序设计(3) -- 对象基础(1)

2008-03-29 12:27 465 查看
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提前或落后的分钟数






3、对象的类型:内置对象 ECMA-262把内置对象定义为"由ECMAScript实现提供的、独立于宿主环境的所有对象,在ECMAScript程序开始执行时出现"。其意味着开发者不必明确实例化,它已被实例化了,它有两个对象:Global、Math 3.1 Global 对象 Global对象是一个特殊的对象,其实它并不存在,采用下面的语句错误的var gl=Global;Global常用的一些方法:

isNaN() 方法

isFinite()方法

parseInt() 方法

parseFloat() 方法

encodeURI()方法 --用于编码URI,器用于处理完整的URI

encodeURIComponent()方法 --用于编码部分字符串

decodeURI()

decodeURIComponent()

eval() 方法 --这是ECMAScript中最强大的方法,接受一个参数,该方法就像整个ECMAScript的解释程序

下面是其属性

属性说明
undefinedUndefined类型的字面量
Nan非数的专用值
ObjectObject的构造函数
FunctionFunction的构造函数
BooleanBoolean的构造函数
StringString的构造函数
NumberNumber的构造函数
DateDate的构造函数
RegExpRegExp的构造函数
ErrorError的构造函数
EvalErrorEvalError的构造函数
RangeErrorRangeError的构造函数
ReferenceReference的构造函数
SyntaxErrorSyntaxError的构造函数
TypeErrorTypeError的构造函数
URIErrorURIError的构造函数
2、Math对象

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: