0

我有一个场景,需要在运行时确定 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>

但是当我点击超链接复制文本时,它会给出错误说Line: 1 Error: 'at_26' is undefined

4

2 回答 2

2

演示

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-13T09:34:43.743 回答
1

您的代码中有多个问题。更正后的版本如下:

<script>
    window['at_26'] = function() {alert("Inside 26"); };
</script>
<BODY>
    <a href="javascript:window['at_26']()">Copy Text</a>
</BODY>
于 2012-10-13T09:27:06.467 回答