gpt4 book ai didi

javascript - 基本 "Get Variable Value"使用 GopherJS

转载 作者:IT王子 更新时间:2023-10-29 01:44:29 26 4
gpt4 key购买 nike

我正在尝试使用 GopherJS,但找不到有关如何使用它的文档。

这是 Go 代码:

package main

import (
"github.com/gopherjs/gopherjs/js"
)

func main() {
t := js.Global.Get("key").Int()
println(t)
js.Global.Set("keySet", 4)
}

然后我使用 GopherJS 将其转换为 JS 并粘贴:

JS代码:

var key = 3

// Pasted GopherJS Code
"use strict";
(function() {
...
}).call(this);
// End GopherJS Code

console.log(keySet)

它打印:

0
4

为什么?它应该打印

3
4

这是我尝试过的(更改 Go 代码并重新转换):

func main() {
t := js.Global.Get("key").Float()
println(t)
js.Global.Set("keySet", 4)
}

打印

NaN
4

func main() {
t := js.Global.Get("key").Int64()
println(t)
js.Global.Set("keySet", 4)
}

打印

typ { '$high': 0, '$low': 0, '$val': [Circular] }
4

我做错了什么?

最佳答案

js.Global 并不像您认为的那样。

js.Global 变量是 documented as :

Global gives JavaScript's global object ("window" for browsers and "GLOBAL" for Node.js).

这意味着:

js.Global.Get("key")

正在浏览器中访问 window.key,或者在 Node.js 中访问 GLOBAL.key,而不是全局变量 key,因为你正在尝试做。

更一般地说,如果您希望标准 JS 访问 GopherJS 生成的代码,您应该使用 js.Wrap 方法 as documented .

关于javascript - 基本 "Get Variable Value"使用 GopherJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47854930/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com