python 3 用pyexecjs 执行 javascript 代码

# 运行js代码
e = execjs.eval('a = new Array(1,2,3)')       #   execjs.eval()     获取js环境,直接执行js代码,适用于简单的运算    适用于从前端读取js代码然后运行(前后端分离项目)
print(e) # execjs.eval() ,用该方法时,也可以上传参数,在后台将参数作为字符串添加到js代码前面(灵活添加字符串),然后js代码就可以调用这些参数,相当于提前写一个缺少参数的js函数

x = execjs.compile('''
function add(x,y){
return x+y;
};
''')
print(x.call('add', '1', '2'))

intvalue = execjs.compile() # execjs.compile() 加载js代码,使之应用到当前环境 (个人理解)即相当于先创建一个js函数 ,在使用时调用该函数,并输入参数进行运算,
适用于自己创建复杂的js代码并引用,不适用于从前端读取js代码然后运行
print(intvalue.call('add', '2', '5'))
for i in intvalue():
print(i) 对象不可迭代 ,会报错

MongoDB数据库中 code数据类型可以直接存储javascript代码
posted @ 2022-08-25 11:04  葛玠  阅读(556)  评论(0编辑  收藏  举报