在Python中解析JavaScript参数值
有没有办法在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的解析器。