蘋果在iOS7推出的JavaScriptCore框架可以方便的完成OC和JS之間的交互,本篇文章主要研究一下JavaScriptCore框架的使用.

總是要來張圖片的
在JavaScriptCore.h文件中,包含下列五個頭文件.
#import "JSContext.h"
#import "JSValue.h"
#import "JSManagedValue.h"
#import "JSVirtualMachine.h"
#import "JSExport.h"
JSContext:JavaScript運行需要的環(huán)境,所有的JavaScript執(zhí)行都需要一個JSContext, 所有的JSValue都被綁定到一個JSContext上.官方文檔
JSValue:JSValue對象是對JavaScript值的引用,可以使用JSValue轉換JavaScript和Objective-C類型(如將OC的NSString類型轉換為JavaScript中的String類型),還可以使用JSValue創(chuàng)建被Objective-C包裝過的JavaScript對象.官方文檔
JSManagedValue:JavaScript和Objective-C的內存輔助管理對象,JavaScript的內存管理是垃圾回收機制,而Objective-C的內存管理是引用計數(shù)機制,如果二者相互引用就會導致循環(huán)引用造成內存泄露問題,JSManagedValue可以幫助垃圾回收機制和引用計數(shù)機制兩種內存管理方式之間進行切換.官方文檔
JSVirtualMachine:JavaScript運行的虛擬機,這個類的兩個主要作用是支持并發(fā)的JavaScript和管理JavaScript與Objective-C之間橋接的對象內存.官方文檔
JSExport:一個協(xié)議,將Objective-C類以及它的實例方法、類方法和屬性轉換為JavaScript代碼.官方文檔