在调用函数时不熟悉方括号的使用

2024-01-03

在这中间page http://hangar.runway7.net/javascript/guide,我找到下面的代码。

var plus = function(x,y){ return x + y };
var minus = function(x,y){ return x - y };

var operations = {
  '+': plus,
  '-': minus
};

var calculate = function(x, y, operation){
    return operations[operation](x, y);
}

calculate(38, 4, '+');
calculate(47, 3, '-');

现在,虽然我可以追踪它是如何工作的,但我以前从未见过方括号的这种用法。它看起来当然不像是在创建数组或引用数组的成员。这常见吗?如果是这样,哪里还有其他例子?


它是字典访问,类似于数组,但使用键而不是数字索引。

operations['+']将评估函数plus,然后用参数调用plus(x,y).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在调用函数时不熟悉方括号的使用 的相关文章

随机推荐

  • 未找到使用 Json 的类的序列化器

    我有一个基本的 Spring Boot 2 1 2 RELEASE 应用程序 使用Spring Initializr JPA 嵌入式Tomcat Thymeleaf模板引擎 并打包为具有restful架构的可执行JAR 我有一个在 Rest
  • 实体框架不支持 x.ToString()!

    实体框架无法识别我的将路由对象转换为特定字符串的 ToString 方法 public IEnumerable
  • Rails 小数精度和小数位数

    我在 Rails 应用程序中有大约 30 个表 并且有大约 6 个表我想更改一些小数列的精度和小数位数 您如何对现有的列进行此操作 您是否需要单独进行每个新的迁移 还是可以一次性完成所有迁移 change column table name
  • Xcode:如何使用每个配置不同的多个“显示名称”值?

    在 Xcode 中 我们使用多种配置来编译多个具有不同捆绑 ID 和显示名称的不同应用程序 虽然 Identity gt Bundle Identifier 正确显示灰色的 只读值 但这与 Identity gt Display Name
  • 列表理解过滤 - “set() 陷阱”

    一种相当常见的操作是过滤一个list基于另一个list 人们很快发现 x for x in list 1 if x in list 2 对于大输入来说速度很慢 它是 O n m 恶心 我们如何加快速度 用一个set进行过滤查找 O 1 s
  • 如何将系统时间格式化为字符串?

    看来我已经没有办法转了SystemTime成字符串 我必须使用SystemTime因为我需要从返回的值std fs Metadata created 您应该使用 Chrono 来获取格式支持 从 Chrono v0 4 0 开始 这变得更加
  • Android Studio 说“局部变量是多余的”[关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我收到关于许多方法的警告local variable is redundant 这是一个示例方法 public MyObject getMSLi
  • SQL:如何使存储过程中的表名动态化

    我对 SQL Server 还很陌生 希望这里有人可以帮助我 我正在使用 QL Server 2008 以下是一个按预期工作的小过程 现在我想使用相同的过程来更新多个表 因为所有这些表都具有完全相同的列名称和列格式 唯一的区别是我添加的表名
  • wxWidgets 的间距/空边框

    有什么东西可以用来在窗口边缘或 wxWidgets wxPython 组件之间添加空间吗 我想要一些东西来防止组件被窗口边框或彼此挤压 类似于 Java Swing 的 EmptyBorder 或 Insets 可以完成的操作 我知道您可以
  • 如何从 Git 远程存储库中删除已删除的文件夹?

    我从本地 Git 存储库中删除了一个文件夹 然后我提交并将更改推送到远程存储库 文件被删除 但文件夹和子文件夹仍然存在 如何从远程存储库中删除空文件夹 您可以通过调用以下命令强制 git 停止跟踪本地文件 git rm file txt w
  • 在 Silverlight 3/4 中加载 3D 对象

    是否可以在 Silverlight 3 或 Silverlight 4 应用程序中加载 3D 对象 3DS Max 对象或其他格式 除了加载对象之外 我还需要一些基本的交互 简单的旋转 放大 缩小 我认为托管 3D 引擎Balder htt
  • 如何在 PHP 中设置使用 HttpOnly cookie

    我怎样才能在我的PHP apps as HttpOnly cookies 对于 Apache 上的 PHP 自己的会话 cookie 将其添加到您的 Apache 配置中或 htaccess
  • 在 C# 中使用另一个方法中的变量

    我是 C 编程新手 非常缺乏经验 我正在创建一个带有文本框的表单 我希望我的程序在一个方法中读取该框中的数字 并在另一个方法中使用这些数字执行操作 现在的情况是这样的 public void readG TextChanged object
  • 奇怪:找不到 C# 类型或命名空间名称 - 构建成功

    当我的项目在 VS2012 IDE 中打开时 我的项目中出现了一个奇怪的错误 在我使用另一个引用项目的地方 它突然说 Type or Namespace name could not be found 我所说的 说 是指当我将鼠标悬停在它上
  • Scanf 获取数字

    我是 C 语言新手 我有一个关于 scanf 的数字问题 我需要做的是 scanf 输入仅 3 位数字 其他字符或符号应被评估为垃圾 或者也许我需要使用isdigit 但我不确定它是如何工作的 我只有这个 但我知道它不起作用 scanf d
  • jQuery 在 LinkBut​​ton 上调用 __doPostBack

    我有一个 LinkBut ton 需要单击它才能引起回发 实际的链接目标是 javascript doPostBack ctl00 c1 btnRefreshGrid 单击该链接确实会执行回发 正如代码隐藏中的断点所验证的那样 还贴java
  • 什么是textViewResourceId?

    我一直在尝试弄清楚如何使用 ArrayAdapter 类 并从文档中获取 http developer android com reference android widget ArrayAdapter html http develope
  • 如何使用 Magical Record 创建和更新对象并保存它们而不使用 contextForCurrentThread

    我刚刚读了 MagicalRecord 的作者的博客文章为什么 contextForCurrentThread 在 MagicalRecord 中不起作用 http saulmora com 2013 09 15 why contextfo
  • 将 Glade 文件中的小部件添加到 Python 中 gtk.Window 的子类中。如何?

    我使用 Glade 制作了一个界面 然后我想在 Python 中创建 gtk Window 的子类并将该文件传递给它 然后我希望能够使用在 Glade 中添加的小部件 就像使用常规代码创建它们一样 这是我非常想做的事情 class Main
  • 在调用函数时不熟悉方括号的使用

    在这中间page http hangar runway7 net javascript guide 我找到下面的代码 var plus function x y return x y var minus function x y retur