Sample code for 30+ languages & platforms
AutoIt

Call a JavaScript Function Returning a Boolean

See more JavaScript Examples

Demonstrates how to call a JavaScript function that returns a boolean.

Chilkat AutoIt Downloads

AutoIt
Local $bSuccess = False

; This is the JavaScript function we'll call:

; function isEven(number) {
;     return number % 2 === 0;
; }

$oSbScript = ObjCreate("Chilkat.StringBuilder")
$oSbScript.Append("function isEven(number) { return number % 2 === 0; }")

$oJs = ObjCreate("Chilkat.Js")

$oResult = ObjCreate("Chilkat.JsonObject")
$oResult.EmitCompact = False

; Call Eval to add the function to the context's global object
$bSuccess = $oJs.Eval($oSbScript,$oResult)
If ($bSuccess = False) Then
    ; Examine the result for an exception.
    ConsoleWrite($oResult.Emit() & @CRLF)

    ; Also examine the LastErrorText.
    ConsoleWrite($oJs.LastErrorText & @CRLF)
    Exit
EndIf

; ------------------------------------------------------------------------------
; Call the function isEven(8)

$oFuncCall = ObjCreate("Chilkat.JsonObject")

; Create JSON specifying the function name and arguments

; {
;   "name": "isEven",
;   "args": [ 8 ]
; }

$oFuncCall.UpdateString("name","isEven")
$oFuncCall.UpdateInt("args[0]",8)

$bSuccess = $oJs.CallFunction($oFuncCall,$oResult)
If ($bSuccess = False) Then
    ; Examine the result for an exception.
    ConsoleWrite($oResult.Emit() & @CRLF)

    ; Also examine the LastErrorText.
    ConsoleWrite($oJs.LastErrorText & @CRLF)
    Exit
EndIf

ConsoleWrite($oResult.Emit() & @CRLF)

; Output:
; {
;   "type": "bool",
;   "value": true
; }

Local $bRetval = $oResult.BoolOf("value")
ConsoleWrite($bRetval & @CRLF)

; Output:
; True