Când vrem să returnăm o referință la un obiect, întâlnim o problemă la funcțiile dinamice. WebAssembly poate să trimită înainte și înapoi doar numere! Pentru a trece peste acest obstacol, trebuie să stabilim o convenție de a folosi un identificator numeric pentru a reprezenta o referință către obiectul nostru în JavaScript.
let query_selector_handle = register_function("
(context, selectorStart, selectorEnd) => {
let selector = context.getUtf8FromMemory(
selectorStart,selectorEnd);
let domEl = document.querySelector(selector);
let objHandle = context.storeObject(domEl);
return objHandle;
}");
let selector = "#fancy-button";
let dom_element_handle = js_invoke_with_2_params(
log_handle,selector.as_ptr() as f64,
selector.len() as f64 );