谷歌很好,足以解釋如何wrap C++ class methods with accessors that can be used from the V8 Javascript engine。如何訪問使用Javascript在C++中創建的動態變量? (通過V8綁定)
但是,他們沒有提及如何確定將具有這些訪問器屬性可用的JavaScript對象的名稱。
如何判斷V8 Javascript C++類實例的名稱(來自示例)是什麼?或者如果它已經有一個名字,它是什麼?
這兩行設立的訪問者:
point_templ.SetAccessor(String::New("x"), GetPointX, SetPointX);
point_templ.SetAccessor(String::New("y"), GetPointY, SetPointY);
我認爲他們可以像這樣從JavaScript中使用:
someObject.x = someObject.y * 2;
我如何確定什麼是 「someObject
」 是什麼?
我覺得有一些代碼丟失,完成鏈接C + +代碼與V8的Javascript包裝。
例如,在示例代碼access static global variables有一條線,明確地露出的存取器函數到V8的JavaScript:
Handle<ObjectTemplate> global_templ = ObjectTemplate::New();
global_templ->SetAccessor(String::New("x"), XGetter, XSetter);
global_templ->SetAccessor(String::New("y"), YGetter, YSetter);
Persistent<Context> context = Context::New(NULL, global_templ)