工作中遇到需要在终端引用 js 引擎,并在此基础上运行 js 代码,并且做到与 终端代码进行交互。
现在市面上有很多 JavaScript 引擎库,比如 webkit 上的 JavaScriptCore。google 运用在 chrome 上的 v8,firefox 上的 spidermonkey。
对于在 iOS 的程序而言,因 iOS webview 上使用的便是 JavascriptCore 引擎,所以最方便的便是 JavaScriptCore 引擎,也不需要引入新的外部的静态库。
在 iOS 工程中直接引用 JavaScriptCore.framework 即可
执行代码也非常简单。
由于 JavaScriptCore 底层由 C 写成,例子中直接使用 C 层的 API,所以只要其他的系统,只要引用成功 JSC 的头文件,都可以执行。
最简单的一个例子。
- JSGlobalContextRef ctx = JSGlobalContextCreate(NULL);
- JSStringRef scirpt = JSStringCreateWithUTF8CString("var a = 1 + 1;");
- JSEvaluateScript(ctx, scirpt, NULL, NULL, NULL, NULL);
- JSStringRelease(scirpt); //对象最后需要释放JSGlobalContextRelease(ctx);//对象最后需要释放
就爱阅读 www.92to.com 网友整理上传, 为您提供最全的知识大全, 期待您的分享,转载请注明出处。
来源: http://www.92to.com/bangong/2017/02-16/17229603.html