使用变量名创建javascript函数并访问它?

使用变量名创建javascript函数并访问它?,javascript,Javascript,我有一个场景,javascript函数名需要在运行时决定。为了简单起见,假设我在javascript变量中有函数名,现在我想使用变量值创建函数。我浏览了链接并尝试了小代码片段 <HTML> <HEAD> <TITLE> New Document </TITLE> </HEAD> <script> var temp1='at_26';

我有一个场景,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>

新文件
var temp1='at_26';
temp1:function(){alert(“Inside 26”);}
但当我点击超链接复制文本时,会出现错误,显示行:1
错误:“at_26”未定义

代码中存在多个问题。更正后的版本如下所示:

<script>
    window['at_26'] = function() {alert("Inside 26"); };
</script>
<BODY>
    <a href="javascript:window['at_26']()">Copy Text</a>
</BODY>

window['at_26']=function(){alert(“Inside 26”);};

您的代码中存在多个问题。更正后的版本如下所示:

<script>
    window['at_26'] = function() {alert("Inside 26"); };
</script>
<BODY>
    <a href="javascript:window['at_26']()">Copy Text</a>
</BODY>

window['at_26']=function(){alert(“Inside 26”);};

然后

<a href="#" onclick="return window['at_26']()">Click</a>
使用

<a href="#" onclick="return myScope.at_26()">Click</a><br />

然后

<a href="#" onclick="return window['at_26']()">Click</a>
使用

<a href="#" onclick="return myScope.at_26()">Click</a><br />


Why downvote(除了没有修复可怕的javascript伪协议之外)@techfoobar我的问题是用变量名创建函数名。您已经用window['at_26']=function(){alert(“Inside 26”);}@MSach:几乎总是可以用变量替换任何文字。如果
var a='at_26'然后您可以编写
窗口[a]=
窗口[a]()。没什么大不了的。为什么下一票(除了不修复可怕的javascript伪协议之外)@techfoobar我的问题是用变量名创建函数名。你已经用window['at_26']=function(){alert(“Inside 26”);}@MSach:几乎总是可以用变量替换任何文字。如果
var a='at_26'然后您可以编写
窗口[a]=
窗口[a]()。没什么大不了的。可惜我不能投票否决评论!您链接到的问题没有显示与
temp1:function(){alert(“Inside 26”);}
有关的任何内容。你从哪里弄来的?这是无效的JavaScript。太糟糕了,我不能投票否决评论!您链接到的问题没有显示与
temp1:function(){alert(“Inside 26”);}
有关的任何内容。你从哪里弄来的?这是无效的JavaScript。是的
window[temp1]
解析为
window['at_26']
,函数分配在那里。你不会说
window['temp1']=function
temp1=function
。是的
window[temp1]
解析为
window['at_26']
,函数分配在那里。你不会说
window['temp1']=function
temp1=function