在Python中解析JavaScript参数值

1 投票
1 回答
550 浏览
提问于 2025-04-16 03:25

有没有办法在Python中解析传递给JavaScript函数的参数值?

我想要自动记录JavaScript函数的调用,以确保它们传递了正确的参数。

比如,在:

function mymethod(fruit, vegetable, drink) {
    // dummy function
}

function drink(drink) {
    this.drink = drink
}
var myveg = 'tomato'

mymethod('grape', myveg, new drink('apple juice'))

这个函数调用会被改写成:

mymethod(
    /*fruit*/ 'grape', /*vegetable*/ myveg, 
    /*drink*/ new drink('apple juice')
)

所以我真的想把参数分割成 ["'grape'", "myveg", "new drink('apple juice')"],同时去掉之前自动插入的注释,最好还能允许子函数调用作为参数。

如果实在不行,我会把参数放在方法调用之前作为注释(这样解析起来会简单很多),但我想先问问,因为这样能让错误看起来更明显。

非常感谢!

1 个回答

1

如果你想处理JavaScript代码,最好使用一个完整的JavaScript解析器,除非你事先知道你的代码遵循一些特定的规则。因为正则表达式不太适合处理像括号这样的嵌套结构。

Python有很多生成解析器的工具,具体可以参考这个链接:Python解析工具。不过我不太确定这些工具里有没有可以处理JavaScript的解析器。

撰写回答