DotNetBrowser  1.14
Public Member Functions | List of all members
DotNetBrowser.JSFunction Class Reference

Represents a JavaScript function. JavaScript function always belongs to a JSObject instance. More...

Inherits DotNetBrowser.JSObject.

Public Member Functions

void Invoke (JSObject instance, params object[] args)
 Executes JavaScript function asynchronously. It means that this method doesn't block current thread execution and ignores return value. If function execution raises an exception and you need to get information about this exception, then use ConsoleListener. All unexpected exceptions during function execution can be accessible via ConsoleListener like other JavaScript errors. More...
 
JSValue InvokeAndReturnValue (JSObject instance, params object[] args)
 Executes JavaScript function and returns result of execution as JSValue. This method blocks current thread execution until JavaScript function finishes its execution. If JavaScript function raises an exception, then JSFunctionException with error message that describes the reason of exception will be thrown. Same error message will be printed in JavaScript Console, so you can get using ConsoleListener. More...
 
override bool IsFunction ()
 Indicates whether JavaScript value is a function. If this method returns true, then the value can be casted to JSFunction type. For example: More...
 
override JSFunction AsFunction ()
 Casts the current JavaScript object to JSFunction type. More...
 
- Public Member Functions inherited from DotNetBrowser.JSObject
bool HasProperty (string name)
 Checks whether JavaScript object has property or function with the given name. More...
 
JSValue GetProperty (string name)
 Returns value of specified JavaScript object's property with the given name. The name parameter represents name of the current JavaScript object property or function. More...
 
bool SetProperty (string name, object value)
 Sets a new property with the given name or modifies existing one in the current JavaScript object and returns true if the property with name was created or updated successfully. The name parameter represents JavaScript object's property name. The value can be one of the following types: String, Boolean, Integer, Long, Short, Byte, Double, Float, Object[], int, boolean, long, short, byte, double, float, Object, JSONString, JSFunctionCallback. More...
 
bool SetProperty (int index, object value)
 Sets a new property with the given index or modifies existing one in the current JavaScript object and returns true if the property with the given index was created or updated successfully. More...
 
bool RemoveProperty (string name)
 Removes property with the given name in the current JavaScript object and returns true if the property was successfully removed. Once you remove key, it will not be available in the current JavaScript object anymore. More...
 
List< string > GetPropertyNames ()
 Returns a list containing the names of the properties of this object, including properties from prototype objects. More...
 
List< string > GetOwnPropertyNames ()
 Returns a list containing the names of the properties of this object, excluding properties from prototype objects. More...
 
override bool IsObject ()
 Indicates whether JavaScript value is an object. If this method returns true, then the value can be casted to JSObject type. For example: More...
 
override bool IsDotNetObject ()
 Indicates whether JavaScript value is an .net object. If this method returns true, then the value can be casted to .net object type. For example: More...
 
override JSObject AsObject ()
 Casts the current JavaScript object to JSObject type. More...
 
override object AsDotNetObject ()
 Casts the current JavaScript object to .net object type. More...
 
string ToJSONString ()
 Returns text representation of JavaScript object. The equivalent of JSON.stringify() without parameters. More...
 
- Public Member Functions inherited from DotNetBrowser.JSValue
virtual bool IsUndefined ()
 Indicates whether JavaScript value is undefined. More...
 
virtual bool IsNull ()
 Indicates whether JavaScript value is NULL. More...
 
bool IsTrue ()
 Indicates whether JavaScript value represents bool TRUE value. More...
 
bool IsFalse ()
 Indicates whether JavaScript value represents bool FALSE value. More...
 
virtual bool IsString ()
 Indicates whether JavaScript value is a string. If this method returns true, then the value can be casted to JSString type. For example: More...
 
virtual bool IsJSON ()
 Indicates whether JavaScript value is a string in JSON format. More...
 
virtual bool IsBool ()
 Indicates whether JavaScript value is a boolean value. If this method returns true, then the value can be casted to JSBoolean type. For example: More...
 
virtual bool IsNumber ()
 Indicates whether JavaScript value is a number value which equals to double type. If this method returns true, then the value can be casted to JSNumber type. For example: More...
 
virtual bool IsArray ()
 Indicates whether JavaScript value is an array. If this method returns true, then the value can be casted to JSArray type. For example: More...
 
virtual bool IsBooleanObject ()
 Indicates whether JavaScript value is a JSBoolean object. If this method returns true, then the value can be casted to JSBooleanObject type. For example: More...
 
virtual bool IsNumberObject ()
 Indicates whether JavaScript value is a Number object. If this method returns true, then the value can be casted to JSNumberObject type. For example: More...
 
virtual bool IsStringObject ()
 Indicates whether JavaScript value is a String object. If this method returns true, then the value can be casted to JSStringObject type. For example: More...
 
virtual JSBoolean AsBoolean ()
 Casts the current JavaScript object to JSBoolean type. If the current object doesn't represent a Boolean object, the InvalidCastException error is thrown. More...
 
virtual JSBooleanObject AsBooleanObject ()
 Casts the current JavaScript object to JSBooleanObject type. If the current object doesn't represent a Boolean object, the InvalidCastException error is thrown. More...
 
virtual JSNumber AsNumber ()
 Casts the current JavaScript object to JSNumber type. If the current object doesn't represent a number value, the InvalidCastException error is thrown. More...
 
virtual JSNumberObject AsNumberObject ()
 Casts the current JavaScript object to JSNumberObject type. If the current object doesn't represent a Number object, the InvalidCastException error is thrown. More...
 
virtual JSArray AsArray ()
 Casts the current JavaScript object to JSArray type. If the current object doesn't represent an array, the InvalidCastException error is thrown. More...
 
virtual JSString AsString ()
 Casts the current JavaScript object to JSString type. If the current object doesn't represent a string value, the InvalidCastException error is thrown. More...
 
virtual JSStringObject AsStringObject ()
 Casts the current JavaScript object to JSStringObject type. If the current object doesn't represent a String object, the InvalidCastException error is thrown. More...
 
virtual bool GetBool ()
 Returns boolean value of the current JavaScript object if object represents a primitive boolean or Boolean object, otherwise throws InvalidOperationException. More...
 
virtual double GetNumber ()
 Returns number value of the current JavaScript object if object represents a primitive number or Number object, otherwise throws InvalidOperationException. More...
 
virtual string GetString ()
 Returns string value of the current JavaScript object if object represents a primitive string or String object, otherwise throws InvalidOperationException. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from DotNetBrowser.JSValue
static JSValue Create (double value)
 Creates double JSValue instance. More...
 
static JSValue Create (bool value)
 Creates boolean JSValue instance. More...
 
static JSValue CreateUndefined ()
 Creates undefined JSValue instance. More...
 
static JSValue Create (string value)
 Creates string JSValue instance. More...
 
static JSONString CreateJSON (string jsonString)
 Creates JavaScript value that represents a string in JSON format. When this value is passed to JavaScript side, it will be automatically parsed and converted to appropriate JavaScript object. More...
 
static JSValue CreateNull ()
 Creates null JSValue instance. More...
 
- Protected Attributes inherited from DotNetBrowser.JSObject
JSContext context
 
- Properties inherited from DotNetBrowser.JSObject
bool IsDisposed [get]
 Indicates whether object is disposed or not. More...
 
JSContext Context [get]
 Gets JavaScript execution context associated with the current JavaScript object. More...
 

Detailed Description

Represents a JavaScript function. JavaScript function always belongs to a JSObject instance.

Member Function Documentation

override JSFunction DotNetBrowser.JSFunction.AsFunction ( )
virtual

Casts the current JavaScript object to JSFunction type.

Reimplemented from DotNetBrowser.JSValue.

void DotNetBrowser.JSFunction.Invoke ( JSObject  instance,
params object[]  args 
)

Executes JavaScript function asynchronously. It means that this method doesn't block current thread execution and ignores return value. If function execution raises an exception and you need to get information about this exception, then use ConsoleListener. All unexpected exceptions during function execution can be accessible via ConsoleListener like other JavaScript errors.

Parameters
instancerepresents JSObject instance which is owner of the current function. If function represents a global JavaScript function, then you should use null. The instance must belong to the same JavaScript execution context as the current function.
argsinput arguments.
Exceptions
ArgumentExceptionwhen instance is a valid JavaScript object, but it belongs to a different JavaScript execution context. The instance must be running in the same execution context as the current function.
InvalidOperationExceptionwhen function is already disposed or its JavaScript execution context isn't available anymore.
JSValue DotNetBrowser.JSFunction.InvokeAndReturnValue ( JSObject  instance,
params object[]  args 
)

Executes JavaScript function and returns result of execution as JSValue. This method blocks current thread execution until JavaScript function finishes its execution. If JavaScript function raises an exception, then JSFunctionException with error message that describes the reason of exception will be thrown. Same error message will be printed in JavaScript Console, so you can get using ConsoleListener.

Parameters
instancerepresents JSObject instance which is owner of the current function. If function represents a global JavaScript function, then you should use null. The instance must belong to the same JavaScript execution context as the current function.
argsinput arguments.
Returns
result of JavaScript function execution. Never returns null.
Exceptions
JSFunctionExceptionwhen exception occurs during function execution.
ArgumentExceptionwhen instance is a valid JavaScript object, but it belongs to a different JavaScript execution context. The instance must be running in the same execution context as the current function.
InvalidOperationExceptionwhen instance is already disposed or its JavaScript execution context isn't available anymore.
override bool DotNetBrowser.JSFunction.IsFunction ( )
virtual

Indicates whether JavaScript value is a function. If this method returns true, then the value can be casted to JSFunction type. For example:

if (value.IsFunction()) { JSFunction function = value.AsFunction(); }

Returns
true when JavaScript value is an function.

Reimplemented from DotNetBrowser.JSValue.