2017-02-26 42 views
0

想象一個數組100k行(無論列數多少)。從類似函數列表中調用某個函數

我有一個100種的JavaScript功能,這幾乎是相同的,但每個人都應該有它自己的1000行的工作。

我想在基於一定條件下隨時調用所需功能或少數人。

例如,如果根據病情,我需要與陣列的行5萬到工作,我應該叫5功能。

一個條件:功能應該在一定時間內被調用。這意味着可以同時調用幾個函數,這就是爲什麼我不能只使用一個具有不同參數的函數。

我以爲我可以命名功能「功能1」,「功能2」,...,「功能N」。但我不知道如何以條件給他們打電話。

我想,也許有一種方法,如:

if (someVar == 5) { 
    function5(); 
} 

如果有這樣的方法來調用javascript中的函數? 我感謝任何幫助。

+2

我不明白你的問題,但每當你有編號的變量名稱,你應該使用一個數組來代替:'functions [someVar]()'。 – melpomene

+0

'function'是一個關鍵字。你不能用它作爲數組的名稱 –

+0

,但我不明白爲什麼'function [5]()'會調用我的'function5()'.. –

回答

0

您可以將函數分配給數組。即:

var funct = []; 
funct[5] = function (...) { ... } 

,然後你可以打電話給他們這樣的:

if (someVar == 5) { 
    funct[5](); 
} 

它也是好主意,使用更具描述性的鍵功能,您可以把它作爲函數名的。但在這種情況下,您應該使用對象而不是數組。即:

var funct = {}; 
funct['send-data'] = function (...) { ... } 

if (someVar == 5) { 
    funct['send-data'](); 
} 
+1

如果您打算使用非數字鍵,則不應使用數組。這就是對象的用途。 – JLRishe

+1

@rsm感謝您的幫助。這正是我所要求的。 –

+0

@JLRishe感謝您指出了這一點!回答編輯。 – rsm