在Javascript中解析(字符串)函数调用和参数

时间:2014-02-22 00:36:59

标签: javascript jquery regex

假设我有两个链接:

<a href="#" onclick="myFunction();"></a>
<a href="#" onclick="myFunction(1, 2, 'string');"></a>

我的目标是解析myFunction调用并获取参数数组。因此,从第一个链接我想获得[],从第二个链接我想获得[1, 2, 'string']

我已经知道如何将onclick属性转换为字符串(我们在这里使用jQuery),因此不需要成为答案的一部分。

基本上:

var myCall="myFunction(1, 2, 'string')";
parseFunctionString(myCall); //[1, 2, 'string']

定义parseFunctionString。我想象这可以通过某种正则表达式轻松完成。

1 个答案:

答案 0 :(得分:0)

您可以在函数中使用arguments关键字完成此操作。例如:

function foo() {
    alert(arguments[0]);
}
foo('bar');

将提醒'bar',因为那是该函数的第一个参数。您可以像使用数组一样使用arguments关键字,但它不会像数组一样使用内置方法,因此它不会包含.sort()之类的内容。可以找到更多信息on MDN