Javascript 用函数设置变量
我试图使用ExternalInterface修改HTML页面,但它只能调用Javascript函数,不能设置变量。我想做的是用一个函数设置一个变量,比如做Javascript 用函数设置变量,javascript,externalinterface,Javascript,Externalinterface,我试图使用ExternalInterface修改HTML页面,但它只能调用Javascript函数,不能设置变量。我想做的是用一个函数设置一个变量,比如做set\u var('foo','bar')相当于var foo='bar'。 在PHP中,我可以创建如下函数: function set_var($varname, $value) { $GLOBALS[$varname]=$value; } 但我不知道如何在Javascript中实现这一点。可能与窗口对象有关?您使用窗口对象的路径
set\u var('foo','bar')
相当于var foo='bar'
。
在PHP中,我可以创建如下函数:
function set_var($varname, $value)
{
$GLOBALS[$varname]=$value;
}
但我不知道如何在Javascript中实现这一点。可能与窗口对象有关?您使用窗口对象的路径正确,可以通过包含变量名称的字符串访问javascript中的全局变量
function set_var(varname, value) {
window[varname] = value;
}
在javascript中,您可以使用
[]
访问对象的属性。如果属性名称位于变量中,则这是访问属性名称的唯一方法(使用eval()
)除外。由于全局变量是浏览器javascript中窗口
对象上的属性,这就是为什么这样做的原因。对于通过包含变量名称的字符串访问javascript中全局变量的窗口对象,您的路径是正确的
function set_var(varname, value) {
window[varname] = value;
}
在javascript中,您可以使用
[]
访问对象的属性。如果属性名称位于变量中,则这是访问属性名称的唯一方法(使用eval()
)除外。由于全局变量是浏览器javascript中窗口
对象上的属性,这就是为什么这样做的原因。对于通过包含变量名称的字符串访问javascript中全局变量的窗口对象,您的路径是正确的
function set_var(varname, value) {
window[varname] = value;
}
在javascript中,您可以使用
[]
访问对象的属性。如果属性名称位于变量中,则这是访问属性名称的唯一方法(使用eval()
)除外。由于全局变量是浏览器javascript中窗口
对象上的属性,这就是为什么这样做的原因。对于通过包含变量名称的字符串访问javascript中全局变量的窗口对象,您的路径是正确的
function set_var(varname, value) {
window[varname] = value;
}
在javascript中,您可以使用
[]
访问对象的属性。如果属性名称位于变量中,则这是访问属性名称的唯一方法(使用eval()
)除外。由于全局变量是浏览器javascript中窗口
对象上的属性,这就是为什么这样做。也许窗口[varname]=value
?这将把全局变量varname
设置为value
@charlietfl-您确实需要窗口部分,因为您在字符串中有一个变量名。除非您想使用eval()
,否则您需要一个对象来访问变量,变量名为字符串way@jfriend00是的…我没读这个right@JanTuroň:请解释一下。我在那篇MDN文章中没有看到任何关于configurable:false
的内容。使用窗口[键]
对我来说一直都很有效。我做错事情了吗?可能是window[varname]=value
?这将把全局变量varname
设置为value
@charlietfl-您确实需要窗口部分,因为您在字符串中有一个变量名。除非您想使用eval()
,否则您需要一个对象来访问变量,变量名为字符串way@jfriend00是的…我没读这个right@JanTuroň:请解释一下。我在那篇MDN文章中没有看到任何关于configurable:false
的内容。使用窗口[键]
对我来说一直都很有效。我做错事情了吗?可能是window[varname]=value
?这将把全局变量varname
设置为value
@charlietfl-您确实需要窗口部分,因为您在字符串中有一个变量名。除非您想使用eval()
,否则您需要一个对象来访问变量,变量名为字符串way@jfriend00是的…我没读这个right@JanTuroň:请解释一下。我在那篇MDN文章中没有看到任何关于configurable:false
的内容。使用窗口[键]
对我来说一直都很有效。我做错事情了吗?可能是window[varname]=value
?这将把全局变量varname
设置为value
@charlietfl-您确实需要窗口部分,因为您在字符串中有一个变量名。除非您想使用eval()
,否则您需要一个对象来访问变量,变量名为字符串way@jfriend00是的…我没读这个right@JanTuroň:请解释一下。我在那篇MDN文章中没有看到任何关于configurable:false
的内容。使用窗口[键]
对我来说一直都很有效。我做错事情了吗?谢谢!我以为[]只能用于数组@hidividedby5-它也可以用来访问对象的属性。我认为更合适的做法是鼓励上标将他的评论提升为答案,而不是在他的帖子发布两分钟后劫持他的评论…@JanTuroň-我没看到上标写了什么。我使用了OP的PHP,并将其放入javascript中。总体来看,这一切都很好。答案就是答案,如果没有现成的答案,那么添加一个正确的答案是一件好事(无论您是否看到评论),谢谢!我以为[]只能用于数组@hidividedby5-它也可以用来访问对象的属性。我认为更合适的做法是鼓励上标将他的评论提升为答案,而不是在他的帖子发布两分钟后劫持他的评论…@JanTuroň-我没看到上标写了什么。我使用了OP的PHP,并将其放入javascript中。总体来看,这一切都很好。答案就是答案