会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
依依似君子
自强不息,厚德载物
博客园
首页
联系
订阅
管理
学习笔记 —— Javascript的类(3)
//
定义一个类
function TestClass(name)
{
//
初始化时总数+1
TestClass.prototype.Count
++
;
//
定义一个属性,并设置默认值
this
.Name
=
name
||
"
jxh
"
;
//
定义一个静态类属性
TestClass.prototype.Current.InternalName
=
this
.Name;
//
定义一个对象属性
this
.internalClass
=
new
InternalClass(
this
.Name);
//
定义一个方法
this
.GetFormatName
=
function()
{
var fname
=
this
.internalClass.FormatName();
return
fname;
}
}
//
为TestClass类定义一个静态属性
TestClass.prototype.Count
=
0
;
//
为TestClass类定义一个静态类属性
TestClass.prototype.Current
=
new
InternalClass(
"
没有实例
"
);
//
内部类
function InternalClass(name)
{
this
.InternalName
=
name;
}
对于静态属性的访问,除了 [类名.prototype.属性名] 的访问方式外,直接用 [对象名.属性名] 也能访问,但由于 [对象名.属性名] 的访问方式如果对属性做了修改的话, [对象名.属性名] 将不在和 [类名.prototype.属性名] 的值一致,可能会引起误会,所以建议对静态属性只使用[类名.prototype.属性名] 一种方式去访问。
<
script language
=
"
javascript
"
>
function Click_Event()
{
alert(
"
没有实例对象
"
);
alert(
"
TestClass.prototype.Count:
"
+
TestClass.prototype.Count);
alert(
"
TestClass.prototype.Current:
"
+
TestClass.prototype.Current.InternalName);
var testClass1
=
new
TestClass();
alert(
"
实例1个对象
"
);
alert(
"
TestClass.prototype.Count:
"
+
TestClass.prototype.Count);
alert(
"
TestClass.prototype.Current:
"
+
TestClass.prototype.Current.InternalName);
var testClass2
=
new
TestClass(
"
jxhwei
"
);
alert(
"
实例2个对象
"
);
alert(
"
TestClass.prototype.Count:
"
+
TestClass.prototype.Count);
alert(
"
TestClass.prototype.Current:
"
+
TestClass.prototype.Current.InternalName);
}
</
script
>
posted on
2007-02-01 09:47
非我
阅读(
522
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部