Binding JavaScript
Opa allows binding of the external functions through its Binding System Library (BSL). If we surf the source code of Opa, we will find in many places that Opa binds JavaScript in its source code. Actually, Opa provides three forms of binding syntax: classic
, jsdoc
, and new
. The jsdoc syntax is now (Opa 1.1.0) the default.
The first example
Let's get started with a binding example of JavaScript. Suppose we have finished a test
function in the test.js
JavaScript file, and then we want to use it in the 601.opa
Opa file.
The content of the test.js
file is as follows:
/** * A test function of Opa binding * @register {string -> void} */ function test(str){ alert(str); }
We registered the test
function using the annotation @register {string -> void}
. This indicates that the function being registered has the string -> void
type. To invoke the test
function in Opa code, we designate the function as an external JavaScript function by surrounding the name of the function...