From 16711187f1da9235f3628351aa13bc0e892c0e7e Mon Sep 17 00:00:00 2001 From: hjdhnx Date: Tue, 27 Sep 2022 10:57:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=80=A7=E8=83=BD=E5=AF=B9?= =?UTF-8?q?=E6=AF=94=E5=92=8C=E6=B5=8B=E8=AF=95=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../\346\265\213\350\257\225\346\212\245\345\221\212.txt" | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 "py/qkjs/\346\265\213\350\257\225\346\212\245\345\221\212.txt" diff --git "a/py/qkjs/\346\265\213\350\257\225\346\212\245\345\221\212.txt" "b/py/qkjs/\346\265\213\350\257\225\346\212\245\345\221\212.txt" new file mode 100644 index 0000000..39c0576 --- /dev/null +++ "b/py/qkjs/\346\265\213\350\257\225\346\212\245\345\221\212.txt" @@ -0,0 +1,8 @@ +quickjs是优秀的js解释器,秒杀execjs,但是呢在于python的交互上远远不如js2py + +1.js注入python函数必须用add_callable,无法set +2.js注入变量基础类型必须用set +3.不支持注入python非基础类型,包括字典,对象,模块包 +4.不能注入的类型可以传参调用js +5.类型转换麻烦,不过发现js的 obj(dict) 和 list 可以通过ctx.get完了 json()方法转为python字符串,python字符串再json.loads转为py类型 +6.由于第5点,想要复杂类型交互是没办法的了。(不过合理注入python基础类型变量以及方法的话实现海阔视界那些东西还是够了) \ No newline at end of file -- GitLab