爪哇之家
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
35 随笔 :: 29 文章 :: 8 评论 :: 0 Trackbacks
<
2024年12月
>
日
一
二
三
四
五
六
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
php(7)
(rss)
windows(7)
(rss)
随笔档案
2008年12月 (1)
2008年5月 (1)
2008年3月 (1)
2007年12月 (1)
2007年11月 (3)
2007年10月 (1)
2007年9月 (1)
2007年5月 (1)
2007年2月 (1)
2007年1月 (1)
2006年11月 (2)
2006年10月 (4)
2006年9月 (1)
2006年6月 (2)
2006年5月 (2)
2006年4月 (3)
2006年3月 (3)
2005年12月 (3)
2005年11月 (2)
文章分类
java(5)
(rss)
javascript(11)
(rss)
linux(12)
(rss)
文章档案
2006年11月 (1)
2006年10月 (2)
2006年9月 (8)
2006年8月 (5)
2006年7月 (9)
2006年6月 (3)
2005年11月 (1)
网站收藏
http://sheneyan.com/
(rss)
http://www.java2s.com
http://www.w3cn.org
http://www.xfocus.net
搜索
最新评论
1. re: iis6的问题:Timer_MinBytesPerSecond,Timer_ConnectionIdle
还是不能解决问题,原因应该不是这个
--乾龙
2. re: 简单的JAVA防火墙
加点中文说明就好了!
--heyang
3. re: moodle安装笔记
不能登陆,说是cookie没有开启,可以说的具体点吗?我是个新手,拜托啊!
--李然
4. 文件不能下载
评论内容较长,点击标题查看
--dreamour
5. re: moodle安装笔记
我在同一台服务器上开设两个moodle站点,本地登陆都没有问题,但挂上网后其中一个登陆就老说ccookie问题,不能登陆。请问这种问题怎么解决?谢谢!
--hh
阅读排行榜
1. delphi用ADO控件读EXCEL或DBF文件(6404)
2. iis6的问题:Timer_MinBytesPerSecond,Timer_ConnectionIdle(3195)
3. 网页视频代码(1616)
4. moodle安装笔记(1361)
5. 18位公民身份证号码的编排规则(665)
评论排行榜
1. moodle安装笔记(3)
2. Aspirin - 简单实现邮件发送功能,不需要SMTP服务器(1)
3. 网页视频代码(1)
4. iis6的问题:Timer_MinBytesPerSecond,Timer_ConnectionIdle(1)
5. 使用模板模式简化DAO操作Hibernate(1)
JavaScript中的对象(上)
面向对象语言需要具备三种基本特征:继承(Inheritance)、多态 (Polymorphism) 、封装(Encapsulation and Aggregation)。和Java 、C++ 等语言一样,ECMAScript 被认为是面向对象的,因为它同时支持这些特征。
var
obj
=
new
Object();
该语句创建了一个对象,当构造函数没有参数时,可以省略后面的括号。我们通常是通过对象的引用来进行对象操作,当一个对象的引用为null时, ECMAScript将启动垃圾回收程序删除该对象,释放内存。当一个对象存在多个引用时,需要将所有的引用设置为null来释放该对象所占用的空间。
1
早期绑定和动态绑定
早期绑定是指在对象被实例化之前对象的属性和方法已经被定义,使得编译器或解释器能够提前编译机器码。Java和VB支持这种特性,但ECMAScript 并非强类型,不支持早期绑定。
动态绑定是指编译器或解释器在运行时才知道该对象的具体类型,之前并不会检查,只会判断这些属性和方法是否得到该对象的支持。ECMAScript对所有的变量使用动态绑定。
2
对象类型
2.1 原始对象
ECMA-262 定义不受主机环境影响的ECMAScript支持的任意对象为原始对象,简而言之,原始对象就是ECMA-262定义的引用类型,比较常用的有 Object、Function、String、Boolean、Number、Array、Date。
Array
Array 有许多常用的方法,很多和Java类似,在此不作介绍。需要注意的是,使用push()和pop()两个方法,可以将Array看作一个栈,遵循后进先出 规则(LIFO)。使用shift()和push()两个方法,Array对象即可看作是一个队列,遵循后进后出的规则(LILO)。splice()方 法非常有用,它轻松的实现了链表的一些基本功能,如删除数据项、插入数据、替换数据。
Date
ECMAScript 中的Date类是基于Java早期版本中的java.util.Date类的,它可以精确表示1970年1月1日(格林威治时间)前后285616年的任 意时间。Date是少有的几个重写了toString()和valueOf()方法,并且两个方法并不相同的类。valueOf()通常表示精确到毫秒级 的时间,toString()通常返回个性化的时间表示方法,例如相同的时间在不同浏览器下显示的效果可能不一样。
2.2 Build-in对象
Build-in 对象除了具备原始对象的基本特性外,它在 ECMAScript 程序开始运行时就可以使用,因此可以说任何 Build-in 对象就是原始对象。目前 ECMA-262 只定义了两个 Build-in 对象: Global 和 Math 。
Global
在ECMAScript 里,没有函数可以单独存在,所有的函数都必须是某个对象的方法。如isNan()、isFinite()、parseInt()、parseFloat ()、encodeURI()、encodeURIComponent()、decodeURI()、decodeURIComponent() 等均是Global对象的方法,除此之外,Global对象还包括一些属性。
Math
Math中有许多属性和方法可以用于数学计算,和Java中的比较类似。
2.3 Host 对象
除了原始对象和Build-in对象外,其他对象均是Host对象。所有的BOM和DOM对象均被认为是Host对象。
3
类成员的访问方式
在 面向对象语言程序设计中,常见的类成员访问方式有public、protected和private。在ECMAScript中,只有public一种访 问方式,对象中所有的属性和方法都是可见的,因此,在程序设计时需要额外注意系统安全性的问题。在没有合理的程序规范之前,程序员在编写 ECMAScript代码时,通常使用一定规范的命名方式来说明该属性或方法是私有的(仅仅是说明而已,实际上还是公有的),例如在名称前后加上下划线, 或只在名称前加下划线。另外,在ECMAScript中没有static方法。
4 this
关键字
this关键字是ECMAScript中一个非常重要的概念,通常在对象的方法中使用。
function
whatFruit()
{
alert(
this
.color);
}
var
table1
=
new
Object;
table1.fruit
=
"
apple
"
;
table1.whatFruit
=
whatFruit;
var
table2
=
new
Object;
table2.fruit
=
"
pear
"
;
table2.whatFruit
=
whatFruit;
table1.whatFruit();
//
输出apple
table2.whatFruit();
//
输出pear
当一个变量前面没有对象或this来引用时,ECMAScript认为该变量是一个本地的或全局变量,于是在本地和全局中去搜寻该变量,如果最后仍没有找到,将会在alert中输出null。
posted on 2006-07-16 13:28
爪哇之家
阅读(132)
评论(0)
编辑
收藏
所属分类:
javascript
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
相关文章:
能预览Flash也可以预览图片
网页常用小技巧(JavaScript)
javascript常用到的一些方法
Prototype.js
JavaScript中的继承(下)
JavaScript中的继承(上)
JavaScript中的对象(下)
JavaScript中的对象(上)
JavaScript 调试工具
ECMAScript基础
Powered by:
BlogJava
Copyright © 爪哇之家