Browse Source

Emulate Function.prototype.bind if not supported by JS host.

Vladislav Folts 11 years ago
parent
commit
0d6b794404
1 changed files with 10 additions and 0 deletions
  1. 10 0
      src/rtl.js

+ 10 - 0
src/rtl.js

@@ -9,6 +9,16 @@ if (!Array.prototype.indexOf)
         return -1;
     };
 
+// support Function.bind
+if (!Function.prototype.bind)
+    Function.prototype.bind = function(thisArg){
+        var self = this;
+        var bindArgs = Array.prototype.slice.call(arguments, 1);
+        return function(){
+            return self.apply(thisArg, bindArgs.concat(Array.prototype.slice.call(arguments)));
+        };
+    };
+
 function Class(){}
 Class.extend = function extend(methods){
         function Type(){