From f36134cac29c0456549bdedca09f49d43a95778e Mon Sep 17 00:00:00 2001 From: wangzhichao <570738205@qq.com> Date: Tue, 2 Jun 2020 09:43:17 +0800 Subject: [PATCH] =?UTF-8?q?add=20JavaScript=E7=AE=97=E6=B3=95=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E4=B9=8B=E8=BE=BE=E5=A4=AB=E8=AE=BE=E5=A4=87.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...6\276\345\244\253\350\256\276\345\244\207" | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 "JavaScript\347\256\227\346\263\225\344\274\230\345\214\226\344\271\213\350\276\276\345\244\253\350\256\276\345\244\207" diff --git "a/JavaScript\347\256\227\346\263\225\344\274\230\345\214\226\344\271\213\350\276\276\345\244\253\350\256\276\345\244\207" "b/JavaScript\347\256\227\346\263\225\344\274\230\345\214\226\344\271\213\350\276\276\345\244\253\350\256\276\345\244\207" new file mode 100644 index 0000000..f2113be --- /dev/null +++ "b/JavaScript\347\256\227\346\263\225\344\274\230\345\214\226\344\271\213\350\276\276\345\244\253\350\256\276\345\244\207" @@ -0,0 +1,28 @@ +> 达夫设备背后的基本理念是:每次循环中最多可8次调用```process()```函数。循环迭代次数为元素总数除以 8。因为总数不一定是8的整数倍,所以startAt变量存放余数.,指出第一次循环中应当执行多少次```process()```。 比方说现在有12个元素,那么第一次循环将调用```process()```4次,第二次循环调用```process()```8次,用2次循 环代替了 12次循环。 + +``` +var iterations = Math.floor(items.length / 8), + startAt = items.length % 8, + i = 0; +do { + switch (startAt) { + case 0: + process(items[i++]); + case 7: + process(items[i++]); + case 6: + process(items[i++]); + case 5: + process(items[i++]); + case 4: + process(items[i++]); + case 3: + process(items[i++]); + case 2: + process(items[i++]); + case 1: + process(items[i++]); + } + startAt = 0; +} while (--iterations); +``` \ No newline at end of file -- Gitee