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的解释程序
下面是其属性
2、Math对象
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的解释程序
下面是其属性
属性 | 说明 |
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的构造函数 |
相关文章推荐
- javascript高级程序设计学习笔记--第三章对象基础
- JavaScript高级程序设计之面向对象的程序设计之创建对象之寄生构造函数模式 第6.2.6讲笔记
- JavaScript高级程序设计4--面向对象的程序设计(上)
- JavaScript高级程序设计之引用类型之单体内置对象之Global对象第5.7.1讲笔记
- Javascript高级程序设计笔记(很重要尤其是对象的设计模式与继承)
- JavaScript高级程序设计 读书笔记之十 本地对象Date日期
- JavaScript高级程序设计 读书笔记之九 本地对象Array
- JavaScript高级程序设计笔记之面向对象
- JavaScript 高级程序设计(第四章)基础知识点
- JavaScript高级程序设计 第六章 面向对象程序设计
- 深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
- JavaScript高级程序设计(第3版)学习笔记10 再访js对象
- JavaScript高级程序设计(第3版)学习笔记2 js基础语法
- javascript语句基础知识学习【javascript高级程序设计】
- javascript高级程序设计第三版 第六章 面向对象的程序设计
- JavaScript高级程序设计之BOM之window 对象之全局作用域 第8.1.1讲笔记
- JavaScript高级程序设计 读书笔记之十 本地对象Date日期
- [Javascript 高级程序设计]学习心得记录12 DOM基础
- JavaScript高级程序设计-(2)基础概念
- JavaScript学习--Item37 面向对象高级程序设计