我有以下字符串形式的javascript代码
std::string script =“{ function execute() { var x=10;return x;}} ";
我想评估这个脚本并返回值,有什么方法可以做到这一点吗?
提前谢谢。
发布于 2013-04-09 09:14:15
要评估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
然后,如果你想得到返回值,你必须调用exectue函数:
"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));https://stackoverflow.com/questions/14597178
复制相似问题