首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >用变量名创建javascript函数并访问它?

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

Stack Overflow用户
提问于 2012-10-13 09:25:55
回答 2查看 150关注 0票数 0

我有一个场景,javascript函数名需要在运行时决定。为了简单起见,假设我在javascript变量中有函数名,现在我想使用变量值创建函数。我浏览了链接函数名中的Javascript变量,可能吗?并尝试了这个小代码片段。

代码语言:javascript
代码运行次数:0
运行
复制
   <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‘是未定义的

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-13 09:34:43

演示

代码语言:javascript
代码运行次数:0
运行
复制
var temp1='at_26'; 
window[temp1]=function() {alert("Inside 26"); return false} 

然后

代码语言:javascript
代码运行次数:0
运行
复制
<a href="#" onclick="return window['at_26']()">Click</a>

代码语言:javascript
代码运行次数:0
运行
复制
<a href="#" onclick="return at_26()">Click</a>

应起作用

我认为您想要的是,因为它不会污染全局范围,并且在示例中使用冒号是这样的:

代码语言:javascript
代码运行次数:0
运行
复制
var myScope = {
  "at_26":function() {alert("Inside 26"); return false}
}

使用

代码语言:javascript
代码运行次数:0
运行
复制
<a href="#" onclick="return myScope.at_26()">Click</a><br />
票数 2
EN

Stack Overflow用户

发布于 2012-10-13 09:27:06

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

代码语言:javascript
代码运行次数:0
运行
复制
<script>
    window['at_26'] = function() {alert("Inside 26"); };
</script>
<BODY>
    <a href="javascript:window['at_26']()">Copy Text</a>
</BODY>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12871774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档