0
處理考慮下面的代碼,它實現了一個閉合時保持功能短:如何用瓶蓋在Javascript
function scopeDef(){
var privateField_1 = 1;
.
.
.
var privateField_8 = 8;
return function someFunction() {
/* Implementation takes 10 lines, and uses the private fields */
}
}
我想保持代碼的可讀性和公約,通過保持每個函數的代碼更短,然後讓說10個代碼行。
我需要簡單地將someFunction()
的實現移動到scopeDef()
之外,並且仍然能夠訪問someFunction()
中的私有字段。
有沒有辦法做到這一點?
任何原因,你不能scopeDef外聲明someFunction,然後給它一些參數?如果privateFields是有價值的而不是引用,那麼我認爲它會起作用。 – minorcase
真正的問題應該是:你真的需要爲10行函數關閉8個變量嗎?如果您可以發佈完整的實際代碼,以便我們瞭解哪些方法可行,哪些不適用於您的情況,這將有所幫助。 – Bergi
@minorcase,我想將'defScope'的調用賦值給一個變量,然後在需要的時候自行調用這個變量,同時保持這些變量,並且保持它們是私有的。 如果我在scopeDef()之外創建'someFunction(... privateVariables ..)',我看不到如何實現這個功能。 – GoldenSpecOps