python 执行js代码
简单调用
importexecjs
execjs.eval("new Date")
返回值为:2018-04-04T12:53:17.759Z
execjs.eval("Date.now()")
返回值为:1522847001080 #需要注意的是返回值是13位, 区别于python的time.time()
需要注意的是: 个别的JS语句, 用execjs返回的结果跟浏览器环境返回的结果是有区别的, 以下是浏览器环境返回的结果
调用函数
importexecjs
ctx= execjs.compile("""function add(x, y) {
return x + y;
}""") #获取代码编译完成后的对象
print(ctx.call("add", 1, 2)) #3#print(ctx.eval("add({0},{1})").format(1,2)) # 报错
print(ctx.eval('add("{0}", "{1}")').format("1","2")) #12
文件读取代码编写
创建jsCode.js的文件
function add(x, y) {return x +y;
}
执行代码
importexecjs
file= 'jsCode.js'ct