2014-05-20 124 views
0

我需要編寫通用JavaScript函數的幫助。這個函數將會從許多傳遞不同數量參數的函數中調用。假設函數a1,a2調用這個泛型函數。在javascript中編寫泛型函數以從其他函數獲取多個參數作爲單個參數並將這些參數傳遞給其他函數

function a1() { 
    _genericFunction(methodname, var1, var2); 
} 

function a1() { 
    _genericFunction(methodname, var1, var2, var3); 
} 

這個_genericFunction應該調用另一個方法來傳遞這些參數。

function _genericFunction(methodname, args) { 
    someObj[methodname](args); //methodname = add 
} 

而像添加這些方法應該能夠訪問那些通過args傳遞的參數。

這可以用javascript來實現嗎? 謝謝。

+0

是的。使用['arguments'對象](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/arguments)。 –

回答

1

是你要嘗試這種

function a1() { 
    _genericFunction(methodname, var1, var2); 
} 

function a1() { 
    _genericFunction(methodname, var1, var2, var3); 
} 

function _genericFunction() { 
    if(arguments.length > 0){ 
     someObj["'" + arguments[0] + "'"](arguments.slice(0,1));  
    } 
} 

在JavaScript功能,可以在陣列中檢查輸入參數稱爲參數

的slice()方法調整從第一參數輸入索引端數組中刪除第二參數輸入項目。

+0

參數不是數組對象。如何「轉移」它的方法工作? – sonam

+0

使用分片方法。我編輯了答案 – faby

相關問題