![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java JavaScript Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PowerShell) Call a JavaScript Function Returning an IntegerSee more JavaScript ExamplesDemonstrates how to call a JavaScript function that returns an integer.Note: This example requires Chilkat v11.4.0 or greater.
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll" $success = $false # ---------------------------------------------------------------------------------- # The Javascript function called in this example is shown at the bottom of this page. # ----------------------------------------------------------------------------------- # In this example, we'll load the Javascript function definition from a file. # It doesn't need to come from a file. It could just as easily be loaded from a string. $sbScript = New-Object Chilkat.StringBuilder $success = $sbScript.LoadFile("js_call_function.js","utf-8") if ($success -eq $false) { $($sbScript.LastErrorText) exit } # Note: Each instance of a Chilkat Js object automatically establishes # its own internal runtime and context. Applications do not need to explicitly create # the JavaScript runtime or context. $js = New-Object Chilkat.Js $result = New-Object Chilkat.JsonObject $result.EmitCompact = $false # Call Eval to add the function (shown at the bottom of this page) to the context's global object $success = $js.Eval($sbScript,$result) if ($success -eq $false) { # Examine the result for an exception. $($result.Emit()) # Also examine the LastErrorText. $($js.LastErrorText) exit } $($result.Emit()) # The expected output is "undefined": # { # "type": "undefined", # "value": "undefined" # } # When Eval processes a script containing only a function declaration, # it successfully performs the action (the function becomes defined). # However, since the script consists of a statement that produces no value, # the script's overall completion value is empty. In JavaScript, the # absence of a value is represented by `undefined`. # # Therefore, the Eval call returns `undefined`. # ------------------------------------------------------------------------------ # Call the function calculateScore("Player1", 10, 20) $funcCall = New-Object Chilkat.JsonObject # Create JSON defining the function call: # { # "name": "calculateScore", # "args": [ "Player1", 10, 20 ] # } $funcCall.UpdateString("name","calculateScore") $funcCall.UpdateString("args[0]","Player1") $funcCall.UpdateInt("args[1]",10) $funcCall.UpdateInt("args[2]",20) $funcCall.EmitCompact = $false $($funcCall.Emit()) $success = $js.CallFunction($funcCall,$result) if ($success -eq $false) { # Examine the result for an exception. $($result.Emit()) # Also examine the LastErrorText. $($js.LastErrorText) exit } $($result.Emit()) # Output: # { # "type": "int", # "value": 37 # } $retval = $result.IntOf("value") $("retval = " + $retval)
|
||||
© 2000-2026 Chilkat Software, Inc. All Rights Reserved.