2016-03-28 21 views
1

我想抓住一個字符串表示參數從一個函數的數組,我不確定如何繼續。基本上,下面給出如何抓取字符串中表示的參數在JavaScript中的數組

function MyFunc(param1, param2, param3){ 
    //do all the things 
} 

的功能是什麼將功能「getParams」樣子做以下

getParams(MyFunc) // ["param1","param2","param3"] 
+1

你想在哪裏使用'getParams'? –

+0

你想達到什麼目的?你可以做的最好的是將函數轉換爲一個字符串,然後通過某種簡單的解析來提取參數。 – Pointy

+0

我正試圖實現角度自動化依賴注入。所以例如,如果我有一個控制器函數MyCtrl($範圍){}我可以做 'MyCtrl。$ inject = getParams(MyCtrl);' – frostme

回答

0

這是一個有點亂,但你可以通過你的函數轉換爲字符串做到這一點然後分裂它,直到你得到參數:

var getFuncParams = function(MyFunc) { 
    var str = MyFunc.toString() 
    var strParams = str.substr((str.indexOf('(')+1), (str.indexOf(')') - str.indexOf('(')) - 1) 
    var params = strParams.split(",") 
    return params; 
} 
+0

這似乎完成了什麼我試圖表示感謝! – frostme

+0

沒問題 - 我已經稍微編輯了它,以便在它自己的函數中。希望能幫助到你! – millerbr

相關問題