PageRenderTime 31ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/examples/jsonrpc/public/services/phpolait/jsolait/missingmixin.js

http://pyjamas.googlecode.com/
JavaScript | 115 lines | 115 code | 0 blank | 0 comment | 34 complexity | 84fcf647508562d5d78dab9e92309d76 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0
  1. if(Function.prototype.apply == null){
  2. Function.prototype.apply = function(thisObj, args){
  3. var a =[];
  4. for(var i=0;i<args.length;i++){
  5. a[i] = "args[" + i + "]";
  6. }
  7. thisObj.__apply__ = this;
  8. a="thisObj.__apply__(" + a.join(",") +")";
  9. var r = eval(a);
  10. delete thisObj.__apply__;
  11. return r;
  12. }
  13. }
  14. if(Function.prototype.call==null){
  15. Function.prototype.call=function(thisObj){
  16. var args=[];
  17. for(var i=1;i<arguments.length;i++){
  18. args[i-1] = arguments[i];
  19. }
  20. return this.apply(thisObj, args);
  21. }
  22. }
  23. if(Array.prototype.splice == null){
  24. Array.prototype.splice = function(index, howMany){
  25. var a = this.slice(0, index);
  26. var e = this.slice(index + howMany, this.length);
  27. var r = this.slice(index, index+howMany);
  28. this.length=0;
  29. for(var i=0;i<a.length;i++){
  30. this[this.length] = a[i];
  31. }
  32. for(var i=2;i<arguments.length;i++){
  33. this[this.length] = arguments[i];
  34. }
  35. for(var i=0;i<e.length;i++){
  36. this[this.length] = e[i];
  37. }
  38. return r;
  39. }
  40. }
  41. if(Array.prototype.pop == null){
  42. Array.prototype.pop = function(){
  43. var e=this[this.length-1];
  44. this.length -= 1;
  45. return e;
  46. }
  47. }
  48. if(Array.prototype.push == null){
  49. Array.prototype.push = function(){
  50. for(var i=0;i<arguments.length;i++){
  51. this[this.length] = arguments[i];
  52. }
  53. return this.length;
  54. }
  55. }
  56. if(Array.prototype.shift == null){
  57. Array.prototype.shift = function(){
  58. var e = this[0];
  59. for(var i=1;i<this.length;i++){
  60. this[i-1] = this[i];
  61. }
  62. this.length -= 1;
  63. return e;
  64. }
  65. }
  66. if(Array.prototype.unshift == null){
  67. Array.prototype.unshift = function(){
  68. var a=[]
  69. for(var i=0;i<arguments.length;i++){
  70. a[i] = arguments[i];
  71. }
  72. for(var i=0;i<this.length;i++){
  73. a[a.length] = this[i];
  74. }
  75. this.length=a.length;
  76. for(var i=0;i<a.length;i++){
  77. this[i] = a[i];
  78. }
  79. return this.length;
  80. }
  81. }
  82. if(Number.prototype.toFixed == null){
  83. Number.prototype.toFixed = function(d){
  84. var n = this;
  85. d = d || 0;
  86. var f = Math.pow(10, d);
  87. n = Math.round (f * n) / f;
  88. n = (n >= 0) ? n+Math.pow(10, -(d+1)) : n-Math.pow(10, -(d+1));
  89. n += '';
  90. return d == 0 ? n.substring(0, n.indexOf('.')) : n.substring(0, n.indexOf('.') + d + 1);
  91. }
  92. }
  93. if(Number.prototype.toExponential == null){
  94. Number.prototype.toExponential = function(d){
  95. var n = this;
  96. var e = 0;
  97. if (n != 0){
  98. e = Math.floor(Math.log(Math.abs(n)) / Math.LN10);
  99. }
  100. n /= Math.pow(10, e);
  101. if (isFinite(d)){
  102. if (Math.abs(n) + 5*Math.pow(10, -(d+1)) >= 10.0){
  103. n /= 10;
  104. e += 1;
  105. }
  106. n = n.toFixed(d);
  107. }
  108. n += "e";
  109. if (e >= 0){
  110. n += "+";
  111. }
  112. n += e;
  113. return n;
  114. }
  115. }