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

1、面向对象术语

1.1、面向对象语言的要求

1)封装

2)聚集

3)继承

4)多态

2、对象的类型:本地对象(1)

2.1 本地对象

def:对立与宿主环境的ECMAScript实现提供的对象,简单的说就是ECMA-262定义的类。他们包括:

  1. Object
  2. Function
  3. Array
  4. String
  5. Boolean
  6. Number
  7. Date
  8. RegExp
  9. Error
  10. EvalError
  11. RangeError
  12. ReferenceError
  13. SyntaxError
  14. TypeError
  15. URIError

前面介绍了object 、Function、String、Boolean、Number对象,下面介绍另外2个对象:Array、Date

2.2 Array对象

属性:

  • length: 返回数组的长度

方法:

  1. join() -- 用指定的参数连接数组中的每个元素
  2. toString() --对数组中的各个元素调用toString()方法,最后返回连接起来的字符串
  3. concat() --同string的concat类似,将数组加到后面返回新对象
  4. slice() --与string的slice类似,返回特定的项数,可以指定一个或两个参数
  5. push() --像栈结构一样,将一个元素压进栈中
  6. pop() --将最后一个弹出栈中
  7. shift() --像队列中的出队一样,将数组的第一项从数组中移除,并返回
  8. unshift() --像队列中的入队一样,将元素插入到数组的第一项中,并返回
  9. sort() --将数组中的值按升序进行排序
  10. reverse --颠倒数组的顺序
  11. 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号是这样表示的

下面是一些用于创建特定日期的字符串表示方法:

  1. toDateString() --以实现的特定的格式显示Date的日期部分
  2. toTimeString() --以实现的特定的格式显示Date的时间部分
  3. toLocalString() --以地点特点的格式显示Date的日期和时间
  4. toLocalDateString() --以地点特点的格式显示Date的日期
  5. toLocalTimeString() --以地点特点的格式显示Date的时间
  6. toUTCString() --以实现特定的格式显示Date的UTC时间
  7. getTimezoneOffset() --用来返回当前时区比UTC提前或落后的分钟数


  1.  
3、对象的类型:内置对象 ECMA-262把内置对象定义为"由ECMAScript实现提供的、独立于宿主环境的所有对象,在ECMAScript程序开始执行时出现"。其意味着开发者不必明确实例化,它已被实例化了,它有两个对象:Global、Math 3.1 Global 对象 Global对象是一个特殊的对象,其实它并不存在,采用下面的语句错误的var gl=Global;Global常用的一些方法:
  1. isNaN() 方法
  2. isFinite()方法
  3. parseInt() 方法
  4. parseFloat() 方法
  5. encodeURI()方法 --用于编码URI,器用于处理完整的URI
  6. encodeURIComponent()方法 --用于编码部分字符串
  7. decodeURI()
  8. decodeURIComponent()
  9. 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的构造函数
2、Math对象
posted @ 2008-03-29 12:27  枫崖  阅读(228)  评论(0编辑  收藏  举报