gpt4 book ai didi

javascript - 如何使用javascript将变量正确存储到窗口?

转载 作者:行者123 更新时间:2023-11-30 05:31:30 25 4
gpt4 key购买 nike

我正在尝试使用 JSNI(gwt 的 javacript 接口(interface))设置/获取变量到/从 js object:window 像这样:

private final native <T> T get(String key)/*-{
return $wnd.key;
}-*/;


private final native void set(String key, Object value)/*-{
$wnd.key = value;
}-*/;

/////等效的 js 应该是这样的

function get(String key){
return window.key;
}


function set(String key, var value){
window.key = value;
}

如果我设置一个变量:var_1 到 window:

var var_1={"id":"id_1","name":"name_1"} 
set("key_1",var_1)

然后

get("key_1")

我会正确得到var_1

然后将另一个变量var_2设置为window

var var_2={"id":"id_2","name":"name_2"} 
set("key_2",var_2)

然后,再次尝试获取key_1

get("key_1")

没想到会返回var_2

所以,问题很明显:get()函数总是返回最后设置的变量,不管key是什么。问题是:

1,Why?
2,How to make it right?

最佳答案

更改为之后

private final native <T> T get(String key)/*-{
return $wnd[key];
}-*/;


private final native void set(String key, Object value)/*-{
$wnd[key] = value;
}-*/;

现在都按预期设置和开始工作。

关于javascript - 如何使用javascript将变量正确存储到窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26696475/

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