誰動了我的代碼
抽象即是空,空即是抽象。
posts(43)
comments(24)
trackbacks(0)
BlogJava
聯系
聚合
管理
News
所有文章版權歸我所有,轉載請注明出處,謝謝!
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
給我留言
查看公開留言
查看私人留言
隨筆分類
Android開發(5)
C/C++(1)
DataBase(3)
Java(16)
JavaScript(14)
WEB前端(1)
編程雜項(2)
網絡(1)
隨筆檔案
2016年5月 (1)
2011年2月 (1)
2010年6月 (3)
2010年5月 (1)
2009年12月 (2)
2009年11月 (1)
2009年10月 (2)
2009年6月 (2)
2009年5月 (1)
2009年4月 (2)
2009年3月 (4)
2009年2月 (1)
2009年1月 (1)
2008年12月 (1)
2008年11月 (1)
2008年10月 (4)
2008年9月 (2)
2008年5月 (5)
2008年3月 (3)
2007年12月 (2)
2007年10月 (1)
2007年9月 (2)
2007年5月 (1)
搜索
最新評論
1.?re: Android之ImageView載入網絡上的圖片
222222222222222222222
--2222222222222222222222222222
2.?re: Log4j自帶Log Viewer的用法
執行你的根本不行,亂錯帖子就在這亂貼,tmd
--asdf
3.?re: Android之使用私有存儲
getDir方法創建的文件,會有個app_前綴,請問這怎么去掉呢?
--就是寶寶
4.?re: Android通用事件造成的生命周期變化情況
我相信以后Android將成為越來越多設備的OS,不光是手持上網設置,冰箱、洗衣機都有可能采用Android。
--淘寶網女裝春裝新款
5.?re: Android通用事件造成的生命周期變化情況
不錯
--歌瑞爾內衣
閱讀排行榜
評論排行榜
View Post
面向對象的JavaScript (一、對象基礎,使用函數來模擬類)
通過一個例子可以很直觀的表述本主題,所以沒有任何其他的說明文字,請看代碼吧。
1
function
Person(name, age)
{
2
3
//
私有變量(private variables)
4
var
myName
=
name;
5
var
myAge
=
age;
6
7
//
公共屬性(public properties)
8
this
.name
=
myName;
9
this
.age
=
myAge;
10
11
//
私有函數(private functions)
12
function
getMyName()
{
13
return
myName;
14
}
;
15
16
function
getName()
{
17
return
name;
18
}
;
19
20
var
getMyAge
=
function
()
{
21
return
myAge;
22
}
;
23
24
var
getAge
=
function
()
{
25
return
age;
26
}
;
27
28
//
特權方法(privileged methods)
29
this
.getName
=
function
()
{
30
return
this
.name;
31
//
return myName; 可以訪問私有變量
32
//
return name; 可以訪問構造函數參數(其參數本質也是私有變量)
33
//
return getMyName(); 可以訪問私有函數
34
//
return getName(); 可以訪問私有函數
35
}
;
36
37
this
.getAge
=
function
()
{
38
return
getAge();
39
}
;
40
41
this
.getRealAge
=
function
()
{
42
return
this
.age;
43
}
;
44
}
45
46
//
公共方法(public methods)
47
Person.prototype.acceptName
=
function
(param)
{
48
this
.name
=
param;
49
//
name = param; 公共方法不能訪問私有變量
50
//
myName = param; 公共方法不能訪問私有變量
51
}
;
52
53
//
原型屬性(prototype properties)
54
Person.prototype.legs
=
2
;
55
56
//
靜態屬性(static properties)
57
//
整個類只有一個靜態屬性,各個對象共享同一個靜態屬性值
58
Person.arms
=
2
;
59
60
Person.getArms
=
function
()
{
61
return
Person.arms;
62
//
return this.arms; 可以使用this來指代Person對象本身
63
}
;
64
65
/**/
/*
66
Person是一個邏輯上的類,他的本質是一個Function,在JavaScript中類是由Function來模擬的,所以Person還是一個Function的實例。而arms和getArms方法是一個Function對象實例上的屬性和方法,是Person對象所特有的,所以本例可以使用Person.arms來引用,同時在getArms方法中,可以使用this.arms來引用,因為getArms是Person對象上的方法,在該方法內部this指代Person對象自身。
67
*/
68
alert(Person.getArms());
69
70
var
pa
=
new
Person(
"
Teddy
"
,
25
);
71
72
//
alert(pa.myName); 不能訪問私有變量
73
74
alert(pa.name);
75
76
alert(pa.getAge());
77
78
pa.acceptName(
"
Born
"
);
79
80
alert(pa.getName());
81
82
var
pb
=
new
Person(
"
John
"
,
18
);
83
84
//
運行時動態加入方法
85
Person.prototype.acceptAge
=
function
(param)
{
86
this
.age
=
param;
87
}
;
88
89
//
pb對象也可以調用動態添加的方法
90
pb.acceptAge(
30
);
91
92
alert(pb.getAge());
93
94
alert(pb.getRealAge());
95
96
//
運行時覆蓋已定義方法
97
Person.prototype.acceptName
=
function
(param)
{
98
return
param;
99
}
;
100
101
//
所有已創建對象都自動繼承被覆蓋的方法
102
alert(pa.acceptName(
"
Black
"
));
103
104
alert(pa.getName());
105
106
alert(pa.legs);
107
108
//
運行時改變原型屬性值
109
Person.prototype.legs
=
4
;
110
111
//
所有已創建對象都自動繼承被改變的原型屬性值
112
alert(pb.legs);
113
114
//
運行時將原型屬性改為公共方法
115
Person.prototype.legs
=
function
()
{
116
return
4
;
117
}
;
118
119
//
所有已創建對象都自動繼承原型屬性到公共方法的改變
120
alert(pa.legs());
posted on 2008-09-03 19:09
Eric Song
閱讀(1291)
評論(1)
編輯
收藏
所屬分類:
JavaScript
View Comments
#
re: 面向對象的JavaScript (一、對象基礎,使用函數來模擬類)
回復
更多評論
不錯,等待下一篇
2008-09-04 11:28 |
HiMagic!
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
關于樣式表對象style與currentStyle的區別
關于JavaScript的cloneNode方法對于節點上的事件clone問題的研究。
參考Prototype的Class.create寫了一個類似的實現,但是不是Ruby like OOP,使用上更像Java。
對JavaScript的變量作用域的理解
IE document compatMode
JavaScript對form及form中的引用。
JavaScript注意事項(不定期更新)
在定義一個js類的時候,為什么要設置該類的prototype屬性為它所要繼承的類的實例對象
JavaScript 類型轉換注意事項
面向對象的JavaScript(二,TSS上的一篇文章,先借鑒一下)
Powered by:
BlogJava
Copyright © Eric Song
主站蜘蛛池模板:
日本免费一区二区三区最新
|
99re这里有免费视频精品
|
永久免费AV无码网站国产
|
免费无遮挡无码永久在线观看视频
|
亚洲免费人成视频观看
|
国产四虎免费精品视频
|
亚洲一区二区影视
|
成人毛片免费观看
|
亚洲av永久无码精品网址
|
午夜国产羞羞视频免费网站
|
全部在线播放免费毛片
|
久久久久亚洲爆乳少妇无
|
成人免费ā片在线观看
|
亚洲国产精品不卡在线电影
|
亚洲永久无码3D动漫一区
|
中文字幕久无码免费久久
|
亚洲色无码一区二区三区
|
久久国产精品一区免费下载
|
亚洲欧洲日产韩国在线
|
好爽…又高潮了免费毛片
|
无人视频免费观看免费视频
|
偷自拍亚洲视频在线观看99
|
免费人成在线观看网站品爱网日本
|
蜜桃精品免费久久久久影院
|
亚洲Av综合色区无码专区桃色
|
国产在线观看免费av站
|
亚洲精品视频在线
|
好爽又高潮了毛片免费下载
|
一级女性全黄生活片免费看
|
亚洲国产高清视频
|
性盈盈影院免费视频观看在线一区
|
国产成人亚洲精品91专区高清
|
色噜噜的亚洲男人的天堂
|
亚洲熟女乱综合一区二区
|
久9热免费精品视频在线观看
|
亚洲人成高清在线播放
|
heyzo亚洲精品日韩
|
污视频在线观看免费
|
亚洲av无码专区在线观看亚
|
亚洲精品成人网站在线观看
|
日本免费网址大全在线观看
|