OSDN Git Service

sleepメソッドにおける変数の整理
authordhrname <dhrname@users.sourceforge.jp>
Sun, 15 Sep 2013 14:33:25 +0000 (23:33 +0900)
committerdhrname <dhrname@users.sourceforge.jp>
Sun, 15 Sep 2013 14:33:25 +0000 (23:33 +0900)
tool/funcproto/sleep.js

index ae7c86a..9de2496 100644 (file)
@@ -15,24 +15,28 @@ Function.prototype.sleep = (function(){
         }\r
       };\r
   return function () {\r
-    functionque.push(this);\r
+    var fque = functionque,\r
+        flen = 0;\r
+    fque.push(this);\r
+    flen = fque.length;\r
     num.push((arguments[0] || 0));\r
-    if (functionque.length === 1) {\r
+    if (flen === 1) {\r
       se(f, 0);\r
-    } else if ((this !== functionque[functionque.length-2]) && functionque.length > 1){\r
+    } else if ((this !== fque[flen-2]) && (flen > 1)){\r
       /*back\83v\83\8d\83p\83e\83B\82É\82Í\81A\91O\82É\93o\98^\82µ\82Ä\82¨\82¢\82½\8aÖ\90\94\82ª\93ü\82é*/\r
-      this.back = functionque[functionque.length-2];\r
+      this.back = fque[flen-2];\r
     }\r
+    fque = flen = void 0;\r
+    return this;\r
   };  \r
 })();\r
 \r
-\r
 function fn (result) {\r
   var that = this;\r
   describe("Async::sleep2", function() {\r
     it("default action", function() {\r
       expect(result).toEqual(0);\r
-      expect(that).toEqual(fn)\r
+      expect(that).toEqual(fn);\r
     });\r
   });\r
   return result+1;\r
@@ -48,4 +52,11 @@ fn.sleep();
     });\r
   });\r
   __start_();\r
-}).sleep();
\ No newline at end of file
+}).sleep();\r
+\r
+describe("Async::sleep", function() {\r
+  it("a sleep method chain", function() {\r
+    var f = function(){};\r
+    expect(f.sleep()).toEqual(f);\r
+  });\r
+});\r