任何人都可以使用prototype.js創建一個類,以及它是如何工作的。任何人都可以爲prototype.js以外的其他官方站點提供很好的示例和教程嗎?如何使用prototype.js創建一個類
4
A
回答
4
創建PrototypeJS類與在正常的OOP語言中創建類非常相似。現在的方法來填充它,如果你把一個方法initialize
PrototypeJS就會觸發作爲構造
var myClass = Class.create(
{
initialize : function()
{
this.options = 0;
}
});
-
首先通過命名類
var myClass = Class.create({ });
這將創建一個空的類開始
你可以在默認值initialize()
方法中設置任何你想要的或者只是初始化類的屬性。讓我們加入其他一些方法,並展示如何實例化類。
var myClass = Class.create(
{
initialize : function()
{
this.options = 0;
},
testme : function()
{
this.options++;
},
showme : function()
{
alert(this.options);
return this.options;
}
});
var theClass = new myClass();
讓我們再來一步,調用方法中的其他方法,並將選項傳遞給構造函數。
var myClass = Class.create(
{
initialize : function(option)
{
this.options = (option ? option : 0);
this.testme();
},
testme : function()
{
this.options++;
},
showme : function()
{
alert(this.options);
return this.options;
}
});
var theClass = new myClass(200);
theClass.showme();
//will alert 201 and return 201
這很酷,所有 - 但類繼承呢?這是OOP中的一件大事 - 可以說我們有一個單獨的類,它是一個myClass
的子類。對於要在子類中重寫任何方法,你可以通過的第一變量$super
,這將指向同一個名字的父母的方法 - 類似於範圍分辨率
var myChildClass = Class.create(myClass,
{
initialize : function($super,option)
{
$super(option);
// the child class needs option's default value at 150 or whatever is
// passed so run the parent initialize first and then redefine the
// option property
this.option = (option ? option : 150);
// you can still run methods in the parent that are not overridden in
// the child
this.testme();
}
});
var child = new myChildClass();
child.showme();
//will alert() 151 and return 151
我希望這是有幫助您。
這裏是從我的github一些更復雜的現實世界的例子
https://github.com/jwestbrook/Prototype.Growler
相關問題
- 1. 如何創建一個使用javassist創建的類的變量
- 2. 使用VideoCapture類創建一個類
- 3. 建議如何創建一個JavaScript類
- 4. 如何使用另一個類的對象創建類
- 5. 如何創建一個專門用於使用SharedPreferences的類?
- 6. 創建和使用一個類
- 7. 創建一個使用SQLite的類
- 8. 創建一個使用SqlCommand的類
- 9. 使用類方法創建一個NSArray
- 10. 如何創建一個使用FetchMode.Select
- 11. 如何創建一個輸入使用
- 12. 如何使用ZipPackage創建一個zip
- 13. 如何使用java創建一個xml?
- 14. 如何創建一個Perl類?
- 15. 如何自動創建一個java類
- 16. 如何創建一個poceble pojo類
- 17. C#:如何創建一個類在C#
- 18. OrientDB REST:如何創建一個Edge類?
- 19. 如何創建一個jQuery插件類
- 20. 如何創建一個類dynamicaly
- 21. 如何在Javascript中創建一個類?
- 22. 如何創建一個類的實例?
- 23. 如何創建一個獨特的類?
- 24. 如何創建一個內部類Parcelable
- 25. 如何創建一個parsetoString類Java
- 26. 如何在AutoHotkey中創建一個類?
- 27. 如何創建一個COM DLL(類庫)?
- 28. JPA:如何創建一個DAO類?
- 29. 如何創建一個元類?
- 30. 如何從類創建一個GridView
我們可以創建類只用純HTML文件的prototype.js或我們需要幫助任何其他工具? – 2013-03-25 08:43:23
PrototypeJS核心庫中提供'Class.create()',您不需要任何其他JavaScript庫來實現該方法。 – 2013-03-25 16:01:26
我們必須在同一個html頁面或另一個html頁面中寫入子類函數? – 2013-03-26 10:17:45