我有一種情況,我正在編寫多個共享工作方法的函數,並且真的想重構和整理這些代碼,而不是讓這些相同的塊發生無數次只執行細微的差異。給定一個信息塊,我掃描每個條目並對該塊進行操作。複發性函數的一個例子是如下:函數內部的經常內聯函數?
function basicFunc() {
var totalX = 2000, totalY = 2000;
for (var y = 0; y < totalY; y++) {
for (var x = 0; x < totalX; x++) {
/* Fake operation for theory */
var fakeVar = (y * x);
}
}
};
比較於:
function eachBlock(whatToDo, totalX, totalY) {
for (var y = 0; y < totalY; y++) {
for (var x = 0; x < totalX; x++) {
/* Fake operation for theory */
return whatToDo;
}
}
};
function basicFunc() {
var totalX = 2000, totalY = 2000;
eachoBlock("var fakeVar = (y * x)", totalX, totalY);
};
這工作正常的單線作爲whatToDo
參數傳遞。你會如何去傳遞多條線路給eachBlock()
,比方說如果你有一堆操作要做,而不是一個var FakeVar
操作?
TLDR:如何在功能中使用函數調用來封裝它在成爲單獨函數之前執行的代碼操作的原始塊?
順便說一下塊(例如函數體)後面不需要分號。 – Ryan
爲什麼不簡單地通過一個函數作爲'whatToDo'而不是一個字符串'full of operations'? – Tyblitz
這正是我在Tyblitz得到的要點。我不知道要做到這一點的最佳或正確的做法。 – user3223880