V8 JavaScript Engine 的文檔非常少,我只找到兩篇:
1. 官方的Embedder's Guide:http://code.google.com/apis/v8/embed.html
這裡是翻譯:http://blog.csdn.net/ffr225/archive/2010/08/13/5809766.aspx
2. CodeProject 上的一篇Using V8 - Google's Chrome JavaScript Virtual Machine http://goo.gl/DRso
翻譯兩篇:http://goo.gl/RyxE 和 http://goo.gl/QiYV
基本概念
l Handle: 控制代碼,所有的V8對象都是通過控制代碼訪問,V8的記憶體回收機制也是基於控制代碼。
l Scope : 控制代碼範圍,可以看做是控制代碼的一個容器,這樣就不需要挨個刪除控制代碼了。
l Context: 執行環境,可以看做是JavaScript的執行環境,這樣就允許在一個V8執行個體中執行不相關的JavaScript代碼,而互補影響。
l Templates:模板,是 JavaScript 函數和對象在一個context中的藍圖。
l Accessors:訪問器,是一個計算並且返回一個值的 C++ 回呼函數,將在一個對象的屬性被 JavaScript 指令碼訪問時調用。
l Interceptors:攔截器,指定一個回呼函數給一個指令碼訪問任意對象的屬性時被調用。
l Security Model: 安全模型,同源策略阻止從一個來源載入的指令碼和文檔去訪問或設定另外一個來源的文檔;在 V8 中,同源被定義為一個 context
l Exceptions: 異常,你可以使用TryCatch 來捕獲異常;如果你沒有正確的設定TryCatch ,你的代碼就會崩潰。
l Inheritance: 繼承,JavaScript 是一個類型無關,物件導向的語言,並且其本身使用的是原型繼承而非類繼承。