Java,你是如此美丽!
BlogJava
|
首页
|
发新随笔
|
发新文章
|
联系
|
聚合
|
管理
随笔:1 文章:82 评论:4 引用:0
JScript中的prototype(原型)属性研究(1)
我们知道JScript中对象的prototype属性,是用来返回对象类型原型的引用的。我们使用prototype属性提供对象的类的一组基本功能。并且对象的新实例会"继承"赋予该对象原型的操作。但是这个prototype到底是怎么实现和被管理的呢?
对于对象的prototype属性的说明,JScript手册上如是说:所有 JScript 内部对象都有只读的 prototype 属性。可以向其原型中动态添加功能(属性和方法),但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。
下面我们看三个经典的prototype属性的使用示例。
1、为脚本环境内建对象添加方法:
Array.prototype.max
=
function
()
{
var
i, max
=
this
[
0
];
for
(i
=
1
; i
<
this
.length; i
++
)
{
if
(max
<
this
[i])
max
=
this
[i];
}
return
max;
};
2、为用户自定义类添加方法:
function
TestObject(name)
{
this
.m_Name
=
name;
}
TestObject.prototype.ShowName
=
function
()
{
alert(
this
.m_Name);
};
3、更新自定义类的prototype:
function
TestObjectA()
{
this
.MethodA
=
function
()
{
alert('TestObjectA.MethodA()');
}
}
function
TestObjectB()
{
this
.MethodB
=
function
()
{
alert('TestObjectB.MethodB()');
}
}
TestObjectB.prototype
=
new
TestObjectA();
第三个很眼熟吧?对啊,它就是我们前面介绍的
原型继承法
呀~~ 不过今天我们不是研究"继承",之所以可以这样来实现一种继承,只是利用了prototype属性的一个副作用而已。
prototype还有一个默认的属性:constructor,是用来表示创建对象的函数的(即我们OOP里说的构造函数)。constructor属性是所有具有prototype属性的对象的成员。它们包括除Global和Math对象以外的所有JScript内部对象。constructor属性保存了对构造特定对象实例的函数的引用。
弄清楚了JScript中prototype属性怎么使用后,
下面
我们再来深入的研究它。
发表于 2012-10-31 10:23
自由战士
阅读(139)
评论(0)
编辑
收藏
所属分类:
jquery
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
<
2024年11月
>
日
一
二
三
四
五
六
27
28
29
30
31
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
1
2
3
4
5
6
7
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
给我留言
查看公开留言
查看私人留言
随笔档案
2010年10月 (1)
文章分类
ajax(1)
(rss)
c#(1)
(rss)
c++(19)
(rss)
css
(rss)
html(1)
(rss)
java(23)
(rss)
javascript(3)
(rss)
jquery(1)
(rss)
jsp(2)
(rss)
Oracle_SQL(8)
(rss)
SQL(8)
(rss)
SSH(2)
(rss)
文章档案
2013年1月 (1)
2012年12月 (1)
2012年11月 (7)
2012年10月 (11)
2011年6月 (1)
2010年12月 (1)
2010年11月 (12)
2010年10月 (45)
2010年8月 (3)
搜索
最新评论
1. re: .数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)
@PREPOET
0.0貌似我看错题了
--PREPOET
2. re: .数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)
@天之骄子 那只是一个特殊情况,不适用于这个题
--PREPOET
3. re: .数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)
@天之骄子
呵呵,不错,这也是一个方法。
--自由战士
4. re: .数组a[N],存放了1至N-1个数,其中某个数重复一次。写一个函数,找出被重复的数字.时间复杂度必须为o(N)
评论内容较长,点击标题查看
--天之骄子