name: duk_call_prop proto: | void duk_call_prop(duk_context *ctx, duk_idx_t obj_idx, duk_idx_t nargs); stack: | [ ... obj! ... key! arg1! ...! argN! ] -> [ ... obj! ... retval! ] summary: |
Call obj.key
with nargs
arguments, with this
binding set to obj
. The property name and the function arguments
are replaced by a single return value; the target object is not touched.
An error during the function call is not automatically caught.
If the target function is not strict, the binding value seen by the target function may be modified by processing specified in Entering Function Code.
This API call is equivalent to:
var retval = obj[key](arg1, ..., argN);
or:
var func = obj[key]; var retval = func.call(obj, arg1, ..., argN);example: | /* obj.myAdderMethod(2,3) -> 5 */ duk_idx_t obj_idx = /* ... */; duk_push_string(ctx, "myAdderMethod"); duk_push_int(ctx, 2); duk_push_int(ctx, 3); duk_call_prop(ctx, obj_idx, 2); /* [ ... "myAdderMethod" 2 3 ] -> [ ... 5 ] */ printf("2+3=%ld\n", (long) duk_get_int(ctx, -1)); duk_pop(ctx); tags: - property - call introduced: 1.0.0