0
我在構建一個調用另一個函數的JS函數。我使用外部函數來更容易地將所需的信息傳遞給內部函數。下面是當前內部函數:在函數中重複使用相同的JS函數和對象
someFunction("trackUnstructEvent", {
schema: "iglu:com.example/" + some_event_name + "/jsonschema/1-0-0",
data: {
timeStamp: new Date()
}
},
[{
schema: "iglu:com.example/people/jsonschema/1-0-0",
data: JSON.stringify(user)
},
{
schema: "iglu:com.example/widgets/jsonschema/2-0-0",
data: { JSON.stringify(widgets)
}]
)
此函數被分解爲三個部分:
A部分中,它總是需要:
someFunction("trackUnstructEvent", {
schema: "iglu:com.example/" + some_event_name + "/jsonschema/1-0-0",
data: {
timeStamp: new Date()
}
},
B部分,這是可選的:
[{
schema: "iglu:com.example/people/jsonschema/1-0-0",
data: JSON.stringify(user)
},
和部分C,它也是可選的:
{
schema: "iglu:com.example/widgets/jsonschema/2-0-0",
data: JSON.stringify(widgets)
}]
)
目前,我使用if else語句來選擇在內部函數中使用哪些部分,但看起來很笨重。我希望能夠獲得構建一個函數的想法,該函數不會在函數中多次使用該函數,並且還允許動態插入B和C部分,具體取決於它們各自的參數是否填充到外部函數中呼叫。 BTW,外部函數調用很簡單:
igluEvent(some_event_name, people, widgets){...}
所以,如果人們被包括在內,some_event_name和人民代碼包含,但不是小部件代碼。
非常感謝您的意見/建議。請讓我知道是否有什麼我需要添加來幫助解釋這個問題。
謝謝!
爲什麼「函數中的函數A多次」?您的IF語句是否重複了A部分代碼? – sahbeewah
正確,A部分僅存在多次,因爲它在每個IF語句中。 –
我真的不確定你在問什麼。如果代碼正在運行,則您的問題確實屬於http://codereview.stackexchange.com而不是此處。 – traktor53