我有一个场景,javascript函数名需要在运行时决定。为了简单起见,假设我在javascript变量中有函数名,现在我想使用变量值创建函数。我浏览了链接函数名中的Javascript变量,可能吗?并尝试了这个小代码片段。
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
</HEAD>
<script>
var temp1='at_26';
temp1: function() {alert("Inside 26"); }
</script>
<BODY>
<a href="javascript:window[at_26]()">Copy Text</a>
</BODY>
</HTML>
但是,当我单击超链接复制文本时,它会出现错误:行:1错误:'at_26‘是未定义的
发布于 2012-10-13 01:34:43
var temp1='at_26';
window[temp1]=function() {alert("Inside 26"); return false}
然后
<a href="#" onclick="return window['at_26']()">Click</a>
或
<a href="#" onclick="return at_26()">Click</a>
应起作用
我认为您想要的是,因为它不会污染全局范围,并且在示例中使用冒号是这样的:
var myScope = {
"at_26":function() {alert("Inside 26"); return false}
}
使用
<a href="#" onclick="return myScope.at_26()">Click</a><br />
发布于 2012-10-13 01:27:06
您的代码中有多个问题。修正后的版本如下:
<script>
window['at_26'] = function() {alert("Inside 26"); };
</script>
<BODY>
<a href="javascript:window['at_26']()">Copy Text</a>
</BODY>
https://stackoverflow.com/questions/12871774
复制