PowerShell
PowerShell
Call a JavaScript Function Returning a String
See more JavaScript Examples
Demonstrates how to call a JavaScript function that returns a string.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This is the JavaScript function we'll call:
# function greet(name) {
# return "Hello, " + name + "!";
# }
$sbScript = New-Object Chilkat.StringBuilder
$sbScript.Append("function greet(name) { return `"Hello, `" + name + `"!`"; }")
$js = New-Object Chilkat.Js
$result = New-Object Chilkat.JsonObject
$result.EmitCompact = $false
# Call Eval to add the function 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
}
# ------------------------------------------------------------------------------
# Call the function greet("Michael")
$funcCall = New-Object Chilkat.JsonObject
# Create JSON specifying the function name and arguments
# {
# "name": "greet",
# "args": [ "Michael" ]
# }
$funcCall.UpdateString("name","greet")
$funcCall.UpdateString("args[0]","Michael")
$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": "string",
# "value": "Hello, Michael!"
# }
$retval = $result.StringOf("value")
$($retval)
# Output:
# Hello, Michael!