当前位置: 首页 > 面试题库 >

调用以变量命名的JavaScript函数

莫英卓
2023-03-14
问题内容

我有一个JavaScript变量,其中包含JavaScript函数的名称。通过使用$ .ajax等加载并放置在页面上,此功能存在于页面上。

谁能告诉我如何调用变量中命名的javascript函数?

该函数的名称位于变量中,因为用于加载页面片段(将其插入到当前页面中)的URL包含要调用的函数的名称。

我愿意就如何实施此解决方案提出其他建议。


问题答案:

我会避免评估。

要解决此问题,您应该了解有关JavaScript的这些知识。

  1. 函数是一类对象,因此它们可以是对象的属性(在这种情况下,它们称为 方法 ),甚至可以是数组的元素。
  2. 如果您不选择函数所属的对象,则它属于全局范围。在浏览器中,这意味着您将其挂在名为“ window”的对象上,这是全局变量所在的位置。
  3. 数组和对象紧密相关。(有传言说,它们甚至可能是乱伦的结果!)您通常可以使用点 . 而不是方括号来代替 [] ,反之亦然。

您的问题是考虑点引用方式而不是方括号方式的结果。

所以,为什么不这样

window["functionName"]();

假设您的职能生活在全球空间中。如果已命名空间,则:

myNameSpace["functionName"]();

避免使用eval,并避免将字符串传入setTimeout和setInterval。我写了很多JS,而且我从不需要评估。“需要”评估源于对语言的了解不够深。您需要了解范围,上下文和语法。如果您曾经评估过,请问一下-
您将很快学习。



 类似资料:
  • 问题内容: 我希望这个问题不是太简单,但是我不知道:( 如何在函数名称中使用var启动函数? 例如 … 我的职能 启动功能 我希望有人能帮助我。 提前致谢!彼得 问题答案: 将函数存储在一个对象中,而不是使其成为顶层。 然后,您可以像访问其他任何对象一样访问它们: 您也可以直接从对象访问它们… ……并避免将它们存储在一个对象中,但这意味着应该在全局范围内进行播放。

  • 在c/c++里面定义名称 变量最好是下划线,比如 dog_name 函数最好是驼峰,比如getDogName 在js里面我读了很多的帖子和指导说明,都说js里面的变量定义不管是变量还是函数,都是要用驼峰。 我个人感觉,c/c++的这种能够区分变量和函数的命名方法更具有可读性。 那么请问各位大佬,为什么在js里面不推荐用下划线,而是统一用驼峰命名?感谢。

  • 本文向大家介绍JavaScript 销毁时重命名变量,包括了JavaScript 销毁时重命名变量的使用技巧和注意事项,需要的朋友参考一下 示例 解构允许我们引用一个对象中的一个键,但是将其声明为具有不同名称的变量。该语法看起来像普通JavaScript对象的键值语法。            

  • 问题内容: 很多人说评论中的要求太多,这让我犹豫不决,但是我仍然没有在他们的答案中找到解决方案,主要是因为(1)他们通常使用jQuery,而(2)问题通常包含我不理解的技术。 我有一个函数,里面有一个变量。变量被分配了一个功能。我敢肯定,这个概念不是AJAX独有的,但这是我正在使用的上下文(如果有区别的话)。 我想将变量传递给函数。但是,由于没有原始函数声明,如何指定参数?我能做到吗? 问题答案:

  • 本文向大家介绍MATLAB不要使用现有的函数名称来命名变量,包括了MATLAB不要使用现有的函数名称来命名变量的使用技巧和注意事项,需要的朋友参考一下 示例 已经有一个功能sum()。结果,如果我们用相同的名称命名变量 如果我们尝试在变量仍存在于工作空间中时使用该函数 我们将得到神秘的错误: clear() 首先使用变量,然后使用函数 我们如何检查功能是否已经存在以避免这种冲突? which()与

  • 问题内容: 我正在尝试遍历数组,并为for循环分配变量。所以像这样: 我遇到的问题是名称没有进入成功功能。我以为js会继续向上查找该变量,如果它在当前作用域中不存在?如果尝试console.log name,我将无法为name变量定义!示波器大师我在做什么错? 问题答案: 您可以使用,以保持范围。此外,改变阵列的具有属性的对象,其中值是一个数组,以防止可能出现的冲突的对象。 请注意,您也可以连接在