js
成员函数 | 函数描述/介绍 |
---|---|
. | |
js.ASTWalk | ASTWalk 对传入的JS代码进行AST遍历,返回遍历后的结果(包含字面量,标识符,语法错误)和错误 |
js.CallFunctionFromCode | CallFunctionFromCode 从传入的代码中调用指定的JS函数并返回调用结果 它的第一个参数为包含JS代码的字符串 第二个参数为要调用的JS函数名 后续参数为零个到多个函数参数 |
js.GetSTType | |
js.New | New 创建新的JS引擎并返回 |
js.Parse | Parse 对传入的JS代码进行解析并返回解析后的AST树和错误 |
js.Run | Run 创建新的JS引擎并运行传入的代码并返回JS引擎结构体引用,运行值和错误 第一个参数为运行的代码字符串 后续参数为零个到多个运行选项,用于对此次运行进行配置,例如嵌入常用的JS第三方库等 |
js.libCryptoJSV3 | libCryptoJSV3 是一个JS运行选项参数,用于在运行JS代码时嵌入CryptoJS 3.3.0库 |
js.libCryptoJSV4 | libCryptoJSV4 是一个JS运行选项参数,用于在运行JS代码时嵌入CryptoJS 4.2.0库 |
js.libJSRSASign | libJSRSASign 是一个JS运行选项参数,用于在运行JS代码时嵌入jsrsasign 10.8.6库 |
#
函数定义#
详细描述#
定义``
#
ASTWalk#
详细描述ASTWalk 对传入的JS代码进行AST遍历,返回遍历后的结果(包含字面量,标识符,语法错误)和错误
Example:
code = `function add(a, b) { return a + b; }`res = javascript.ASTWalk(code)~dump(res)
#
定义ASTWalk(code string) (*ASTWalkerResult, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
code | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *ASTWalkerResult | |
r2 | error |
#
CallFunctionFromCode#
详细描述CallFunctionFromCode 从传入的代码中调用指定的JS函数并返回调用结果
它的第一个参数为包含JS代码的字符串
第二个参数为要调用的JS函数名
后续参数为零个到多个函数参数
Example:
value = js.CallFunctionFromCode(`function add(a, b) { return a + b; }`, "add", 1, 2)~println(value.String())
#
定义CallFunctionFromCode(src any, funcName string, params ...any) (goja.Value, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
src | any | |
funcName | string | |
params | ...any |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | goja.Value | |
r2 | error |
#
GetSTType#
详细描述#
定义GetSTType(st any) string
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
st | any |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | string |
#
New#
详细描述New 创建新的JS引擎并返回
Example:
engine = js.New()val = engine.Eval("1+1")~.ToInteger()~println(val)
#
定义New() *goja.Runtime
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *goja.Runtime |
#
Parse#
详细描述Parse 对传入的JS代码进行解析并返回解析后的AST树和错误
Example:
code = `function add(a, b) { return a + b; }`tree = js.Parse(code)~dump(tree)
#
定义Parse(code string) (*ast.Program, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
code | string |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *ast.Program | |
r2 | error |
#
Run#
详细描述Run 创建新的JS引擎并运行传入的代码并返回JS引擎结构体引用,运行值和错误
第一个参数为运行的代码字符串
后续参数为零个到多个运行选项,用于对此次运行进行配置,例如嵌入常用的JS第三方库等
Example:
_, value = js.Run(`CryptoJS.HmacSHA256("Message", "secret").toString();`, js.libCryptoJSV3())~println(value.String())
#
定义Run(src any, opts ...jsRunOpts) (*goja.Runtime, goja.Value, error)
#
参数参数名 | 参数类型 | 参数解释 |
---|---|---|
src | any | |
opts | ...jsRunOpts |
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | *goja.Runtime | |
r2 | goja.Value | |
r3 | error |
#
libCryptoJSV3#
详细描述libCryptoJSV3 是一个JS运行选项参数,用于在运行JS代码时嵌入CryptoJS 3.3.0库
Example:
_, value = js.Run(`CryptoJS.HmacSHA256("Message", "secret").toString();`, js.libCryptoJSV3())~println(value.String())
#
定义libCryptoJSV3() jsRunOpts
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | jsRunOpts |
#
libCryptoJSV4#
详细描述libCryptoJSV4 是一个JS运行选项参数,用于在运行JS代码时嵌入CryptoJS 4.2.0库
Example:
_, value = js.Run(`CryptoJS.HmacSHA256("Message", "secret").toString();`, js.libCryptoJSV4())~println(value.String())
#
定义libCryptoJSV4() jsRunOpts
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | jsRunOpts |
#
libJSRSASign#
详细描述libJSRSASign 是一个JS运行选项参数,用于在运行JS代码时嵌入jsrsasign 10.8.6库
Example:
_, value = js.Run(`KEYUTIL.getKey(pemPublicKey).encrypt("yaklang")`, js.libJSRSASign())~println(value.String())
#
定义libJSRSASign() jsRunOpts
#
返回值返回值(顺序) | 返回值类型 | 返回值解释 |
---|---|---|
r1 | jsRunOpts |