ADD fonctions pour l'héritage
[euphorik.git] / js / euphorik.js
index 28cba42..d2cd248 100755 (executable)
@@ -67,16 +67,22 @@ var euphorik = {}
 Object.prototype.each = function(f) {\r
    for (var k in this) {\r
       if (this.hasOwnProperty(k)) {\r
-         f(k, this[k])\r
+         f(k, this[k]);\r
       }\r
    }\r
-}\r
+};\r
 \r
 Array.prototype.each = function(f) {\r
    for (var i = 0; i < this.length; i++) {\r
-      f(i, this[i])\r
+      f(i, this[i]);\r
    }\r
-}\r
+};\r
+\r
+Array.prototype.map = function(f) {\r
+   for (var i = 0; i < this.length; i++) {\r
+      this[i] = f(this[i])\r
+   }\r
+};\r
 
 String.prototype.trim = function() {
        return jQuery.trim(this) // anciennement : this.replace(/^\s+|\s+$/g, "");
@@ -88,7 +94,35 @@ String.prototype.ltrim = function() {
 
 String.prototype.rtrim = function() {
        return this.replace(/\s+$/, "");
-}
+}\r
+\r
+\r
+/**\r
+  * Voir : http://www.coolpage.com/developer/javascript/Correct%20OOP%20for%20Javascript.html\r
+  *\r
+  * Exemple :  \r
+  *\r
+  * function Mammal(name) {\r
+  *    this.name = name;\r
+  * }\r
+  *\r
+  * Cat.Inherits(Mammal);\r
+  * function Cat(name) {\r
+  *    this.Super(Mammal, name);\r
+  * }\r
+  */\r
+Object.prototype.Super = function(parent) {\r
+   if(arguments.length > 1) {\r
+      parent.apply( this, Array.prototype.slice.call( arguments, 1 ) );\r
+   } else {\r
+      parent.call( this );\r
+   }\r
+}\r
+Function.prototype.Inherits = function(parent) {\r
+   this.prototype = new parent();\r
+   this.prototype.constructor = this;\r
+}\r
+
 
 
 ///////////////////////////////////////////////////////////////////////////////////////////////////