gpt4 book ai didi

c++ - 如何使用 spidermonkey 执行用户定义的 javascript 代码

转载 作者:行者123 更新时间:2023-11-30 02:57:29 25 4
gpt4 key购买 nike

我有以下 javascript 代码作为字符串

std::string script = "{ function execute() { var x=10; return x; } } ";

我想评估这个脚本并返回值,有什么办法吗?

提前致谢。

最佳答案

要评估 JS 脚本,您需要

JSBool JS_EvaluateScript(JSContext *cx, JSObject *obj, const char *src, uintN length, const char *filename, uintN lineno, jsval *rval);

如此处所述:https://developer.mozilla.org/en-US/docs/SpiderMonkey/JSAPI_Reference/JS_EvaluateScript

然后如果你想得到返回值你必须调用执行函数:

"function execute(){ var x = 10; return x;} execute();"

然后评估脚本必须是 const char* 类型而不是 std::string

执行脚本后,您可以使用 rval 获取返回值

if(JSVAL_IS_INT(rval))
printf("The returned value is : %d\n", JSVAL_TO_INT(rval));

关于c++ - 如何使用 spidermonkey 执行用户定义的 javascript 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14597178/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com