使用本机函数实现类构造函数是described in the duktape wiki。然而,遗漏的是如何实现类层次结构。
当为派生类调用本机构造函数时,如何处理duktape中的继承链?在Javascript中,您通常会执行以下操作:
function Base(){
}
...
function SubClass(){
// Call super constructor.
Base.call(this);
}
你如何在duktape中实现它?我们无法使用duk_call(),因为我们没有方法可以调用。
答案 0 :(得分:1)
如果您只想要与Ecmascript示例中相同的行为,则可以执行以下操作:
duk_get_global_string(ctx, "Base");
duk_push_this(ctx);
duk_call_method(ctx, 0); /* = Base.call(this) */