#[repr(transparent)]pub struct Function { /* private fields */ }Expand description
Implementations
The Function constructor creates a new Function object. Calling the
constructor directly can create functions dynamically, but suffers from
security and similar (but far less significant) performance issues
similar to eval. However, unlike eval, the Function constructor
allows executing code in the global scope, prompting better programming
habits and allowing for more efficient code minification.
The Function constructor creates a new Function object. Calling the
constructor directly can create functions dynamically, but suffers from
security and similar (but far less significant) performance issues
similar to eval. However, unlike eval, the Function constructor
allows executing code in the global scope, prompting better programming
habits and allowing for more efficient code minification.
The bind() method creates a new function that, when called, has its this keyword set to the provided value,
with a given sequence of arguments preceding any provided when the new function is called.
The bind() method creates a new function that, when called, has its this keyword set to the provided value,
with a given sequence of arguments preceding any provided when the new function is called.
The bind() method creates a new function that, when called, has its this keyword set to the provided value,
with a given sequence of arguments preceding any provided when the new function is called.
The bind() method creates a new function that, when called, has its this keyword set to the provided value,
with a given sequence of arguments preceding any provided when the new function is called.
The length property indicates the number of arguments expected by the function.
A Function object’s read-only name property indicates the function’s name as specified when it was created or “anonymous” for functions created anonymously.
The toString() method returns a string representing the source code of the function.
Methods from Deref<Target = Object>
The constructor property returns a reference to the Object constructor
function that created the instance object.
The hasOwnProperty() method returns a boolean indicating whether the
object has the specified property as its own property (as opposed to
inheriting it).
The isPrototypeOf() method checks if an object exists in another
object’s prototype chain.
The propertyIsEnumerable() method returns a Boolean indicating
whether the specified property is enumerable.
The toLocaleString() method returns a string representing the object.
This method is meant to be overridden by derived objects for
locale-specific purposes.
The toString() method returns a string representing the object.
The valueOf() method returns the primitive value of the
specified object.
Methods from Deref<Target = JsValue>
Returns the f64 value of this JS value if it’s an instance of a
number.
If this JS value is not an instance of a number then this returns
None.
If this JS value is a string value, this function copies the JS string
value into wasm linear memory, encoded as UTF-8, and returns it as a
Rust String.
To avoid the copying and re-encoding, consider the
JsString::try_from() function from js-sys
instead.
If this JS value is not an instance of a string or if it’s not valid
utf-8 then this returns None.
UTF-16 vs UTF-8
JavaScript strings in general are encoded as UTF-16, but Rust strings
are encoded as UTF-8. This can cause the Rust string to look a bit
different than the JS string sometimes. For more details see the
documentation about the str type which contains a few
caveats about the encodings.
Returns the bool value of this JS value if it’s an instance of a
boolean.
If this JS value is not an instance of a boolean then this returns
None.
Tests whether this JS value is undefined
Tests whether the type of this JS value is function.
Applies the unary typeof JS operator on a JsValue.
Applies the binary in JS operator on the two JsValues.
Compare two JsValues for equality, using the == operator in JS.
Applies the unary ~ JS operator on a JsValue.
Applies the binary >>> JS operator on the two JsValues.
Applies the binary / JS operator on two JsValues, catching and returning any RangeError thrown.
Applies the binary ** JS operator on the two JsValues.
Applies the binary < JS operator on the two JsValues.
Applies the binary <= JS operator on the two JsValues.
Applies the binary >= JS operator on the two JsValues.
Applies the binary > JS operator on the two JsValues.
Applies the unary + JS operator on a JsValue. Can throw.
Trait Implementations
Performs a dynamic instanceof check to see whether the JsValue
provided is an instance of this type. Read more
Performs a dynamic check to see whether the JsValue provided
is a value of this type. Read more
Performs a zero-cost unchecked conversion from a JsValue into an
instance of Self Read more
Performs a zero-cost unchecked conversion from a &JsValue into an
instance of &Self. Read more
Test whether this JS value has a type T. Read more
Performs a dynamic cast (checked at runtime) of this value into the
target type T. Read more
Performs a dynamic cast (checked at runtime) of this value into the
target type T. Read more
Performs a zero-cost unchecked cast into the specified type. Read more
Performs a zero-cost unchecked cast into a reference to the specified type. Read more
Test whether this JS value is an instance of the type T. Read more
type Abi = <JsValue as RefFromWasmAbi>::Abi
type Abi = <JsValue as RefFromWasmAbi>::Abi
The wasm ABI type references to Self are recovered from.
type Anchor = ManuallyDrop<Function>
type Anchor = ManuallyDrop<Function>
The type that holds the reference to Self for the duration of the
invocation of the function that has an &Self parameter. This is
required to ensure that the lifetimes don’t persist beyond one function
call, and so that they remain anonymous. Read more
Recover a Self::Anchor from Self::Abi. Read more
Auto Trait Implementations
impl RefUnwindSafe for Function
impl UnwindSafe for Function
Blanket Implementations
Mutably borrows from an owned value. Read more
type Abi = <T as IntoWasmAbi>::Abi
type Abi = <T as IntoWasmAbi>::Abi
Same as IntoWasmAbi::Abi
Same as IntoWasmAbi::into_abi, except that it may throw and never
return in the case of Err. Read more