命名和未命名匿名 Javascript 函数之间的差异

2023-11-21

通常,在 Javascript 中,当我想将匿名/内联函数作为参数传递给另一个函数时,我会执行以下操作之一。

someFunctionCall(function() {
    //...
});

someFunctionCall( () => {
    //...
});

然而,我最近继承了一个使用的代码库named作为内联参数运行,就像这样

someFunctionCall(function foo() {
    //...
});

我以前从未见过这种语法。功能依旧seems匿名——没有foo在调用或被调用范围中定义的函数。这只是一个风格问题,还是可以使用命名函数(foo上面)作为匿名函数会改变该程序的行为或状态吗?

这是专门针对 NodeJS(不是基于浏览器的程序)程序的,我对使用函数作为参数的特定行为特别感兴趣。也就是说,来自跨平台和运行时的行为的信息是受欢迎的。


使用命名函数表达式代替匿名函数表达式至少具有三个优点。

  • 由于函数名称显示在调用层次结构中,因此使调试更容易。
  • 函数名可以在函数内部作用域访问,因此可以用于递归
  • 函数名称本身就像函数正在做什么的自我文档,而不是阅读代码。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

命名和未命名匿名 Javascript 函数之间的差异 的相关文章

  • 有没有办法动态更改 jqGrid 的单元格值?

    这个问题可能已经被问过很多次了 但我想知道是否可以动态更改 jqgrid 的单元格值 我基本上有一个网格 它通过 JSON 字符串加载数据 在特定列的某些行上 该值可能为 null 因此 预先知道哪个行 ID 是一个问题 然后能够将 nul
  • JavaScript 字符串中的脚本标签[重复]

    这个问题在这里已经有答案了 我遇到一个问题 即 JavaScript 中带引号的字符串内有结束脚本标记 并且它正在杀死脚本 我认为这不是预期的行为 可以在这里看到这样的示例 http jsbin com oqepe edit http js
  • 获取被调用的 javascript 文件的查询字符串

    是否可以在调用的 javascript 文件上使用 javascript 获取查询参数 如下所示 in html in file js console log this location query 这是否可能以某种方式实现 或者我必须使用
  • 判断字符串是否包含有效的javascript代码

    我正在寻找一个C 返回的函数true如果字符串包含有效的 JavaScript 语法 例如 IsValidJavascript alert hello 会回来true but IsValidJavascript alertXXhelloZ
  • 以下文档我无法创建 Vue.js 3 的实例

    The code https stackblitz com edit vue ttt file src main js https stackblitz com edit vue ttt file src main js 问题 我正在尝试在
  • 检测 Webkit/Chrome 中 HTML5 数字控件更改的事件?

    HTML5 为我们提供了一些新的输入元素 例如
  • Angular UI 路由器嵌套视图问题

    我在理解 Angular UI Router 嵌套视图的工作原理时遇到了一些问题 我的 stateProvider 看起来像这样 stateProvider state login url login views main template
  • websockets 如何处理同一浏览器的两个选项卡

    I have 1 个 PHP 服务器 提供 http 请求 和 1 node js 发布更新的数据消息 每个连接都带有 websocket php 服务器设置其 cookie 在一个浏览器中 此 cookie 可在所有选项卡中使用 当浏览器
  • 通过 JavaScript 单击按钮/页面提交

    我想了解 asp net 框架如何知道何时单击了按钮 因此一旦收到请求 就会在服务器上触发其单击事件 我需要了解它是如何工作的 因为我想从 JavaScript 触发按钮的服务器单击事件 我能够从 JavaScript 执行页面提交 doc
  • Firefox Addon 中的 JQuery 导致多个警告

    我在 Firefox 插件中使用 jquery 但我不断收到大量警告消息 如下所示 anonymous function does not always return a value System JS WARNING resource g
  • 可以禁用幻灯片的触摸模拟但不能禁用滚动条(危险的滑动器)吗?

    我的页面上有一个危险的滑动器 它成功地模拟了幻灯片和随附滚动条上的触摸事件 允许单击鼠标并移动以向左或向右滑动幻灯片 这很好 但我现在在滑动器内的幻灯片上调用了可拖动 这意味着我需要停止此触摸模拟 拖动幻灯片并同时移动它们会引起混乱 但仅限
  • ES6 模块范围

    我有代码 lib js var a a export var b b main js console log a a variable is not available in a global scope import b from lib
  • 如何从 html 页面 [javascript] 调用 Web 服务方法而不刷新页面

    我有一个webservice这将返回一个值 我的要求是 我需要调用它webservice从一个index html页面 该页面有一个 html 提交按钮 在该按钮上单击我正在呼叫JavaScript 从那里我想调用网络方法 我怎样才能做到这
  • 了解 Document.createElement()

    我在用着GWT及其底层DOM能力 我基本上想要实现的是 Have a div包含一些文本的元素 其中一些文本将被包围span元素 span 元素可相互拖动并提供上下文菜单 New span元素可以由最终用户动态创建 它可能是这样的 在应用程
  • React Redux - 在辅助函数中访问现有存储

    我试图在反应组件之外获取存储实例 存储状态 即在单独的辅助函数中 我有我的减速器 我的动作 我在最上面的组件中创建了一个商店 configStore js import createStore from redux import gener
  • 如何在 React Native 中使用相同的 Firebase 数据库在两个应用程序之间进行通信?

    我有两个不同的应用程序使用相同的实时数据库 在第一个应用程序中 我发送的订单包含一些要保存在数据库中的数据字段 在另一个应用程序中 我只添加一个侦听器 firebase database ref userOrder currentUser
  • Three.js点击单个粒子

    In this example http jsfiddle net agqq96bq 2 您可以看到 2 个可点击的粒子 但它们都受到点击的影响 另外 我只想检测粒子上的点击 而不将它们过滤出场景 像这儿 if intersects len
  • jQuery Mobile + Admob:轮换?

    我使用 jQuery Mobile 框架创建了一个移动应用程序 所有页面都在index php中加载 使用 div 在每个页面的页脚中 我添加了Admob代码 div div div
  • Vue - 调度完成后调用 store getter?

    我正在使用 Laravel 5 7 Vue2 Vuex 我在调度调用完成后让 Vue 返回存储值时遇到一些困难 我的申请流程如下 我单击一个提交按钮 该按钮调用组件上的 validate Validate 分派到我的 addLease 操作
  • 如何让 webpack 和 iis express 协同工作?

    I have Angular 2 和 Webpack 2 入门 https github com qdouble angular webpack2 starter它通过 webpack dev server 在节点上运行 我如何使用 web

随机推荐

  • Java:多对象变量(静态)

    我是面向对象编码的新手 并且遇到以下问题 注意this解决方案是我的问题的一部分 我需要一个许多对象可以引用的变量 但为每个对象保留一些 私有 信息 更具体地说 我创建了一个名为Worker我希望该类的每个对象都有一个唯一的类型 IDint
  • Android Studio - 设备文件资源管理器停止工作

    几天来 Android Studio 的设备文件资源管理器向我显示了以下消息 执行 shell 命令 pm list 包时出错 并且无法从数据文件夹中查看文件和应用程序 例如从我的 Flutter 应用程序获取数据库 有什么想法可以解决这个
  • Javascript Jupyter Notebook 如何获取代码单元格内容?

    有一个类似的问题here 但它是关于使用 python 代码读取 markdown 单元格 我想使用 JavaScript 例如在 Jupyter Notebook 前端扩展中 来读取代码单元中的源代码 我想对代码进行分析 然而 如果我只是
  • Android Activity 过渡动画

    我想要实现的是 使用现有活动的过渡动画启动一个新活动only 我想向上滑动当前活动 新活动将位于当前活动的后面 这是向上滑动的动画 R layout slide up
  • 获取两个 javascript 对象的增量

    我有两个大型的嵌套 JavaScript 对象 我想比较它们并创建一个仅代表差异的对象 我打算用它来创建 PATCH 请求 Given oldObj and newObj 仅在的属性newObj应该在差异中 仅在的属性oldObj应该在差异
  • 使用 pysmbc 通过 samba 读取文件

    我正在 Ubuntu 上使用 python smbc 库来访问 samba 共享 我可以很好地访问目录结构 但我不确定如何访问实际文件及其内容 网页 https fedorahosted org pysmbc 没有提到任何东西 代码是用C
  • PHP (Apache) 默默地将 HTTP 429 和其他转换为 500

    我刚刚在 PHP 的 header 方法中发现了一个奇怪的现象 它会默默地将我的一些状态转换为 500 由于我没有运气在各种网络搜索中找到提及此行为的信息 因此我将其添加到此处 希望能够避免其他人的烦恼 而且还要询问是否有人发现了比我想出的
  • Android 应用程序中的 WebView 内存泄漏

    我正在使用带有 webview 的布局 每次我在 web 视图中加载页面时 我都会在任务管理器中注意到内存泄漏 似乎我的 webview 保留在内存中所有页面的数据 我怎样才能避免这种行为 None
  • window.onbeforeunload 可能会触发多次

    仅仅因为您看不到某个功能的用途并不意味着它没有用 Stack Exchange 网络 GMail Grooveshark Yahoo Mail 和 Hotmail 使用 onbeforeunload 提示来防止 警告用户在开始编辑某些内容后
  • 如何将字符串解析为 float 或 int?

    我怎样才能转换str to float 545 2222 545 2222 我怎样才能转换str to int 31 31 For the reverse see Convert integer to string in Python an
  • Objective-C 中的 super 到底是什么?

    据我所知 它是指向超类的指针 它与超类是硬连线的 并且不是在运行时动态计算出来的 想更详细的了解一下 Anyone super 本质上 它允许您使用当前类的超类的实现 For the gritty detailsObjective C 运行
  • 当我仅使用脚本名称在 Windows 上运行 Python 脚本时无法重定向输出

    它在 Windows 7 64 位 带有 Win32 Python 扩展的 Python 2 6 上运行 我有一个简单的脚本 只打印 hello world 我可以启动它python hello py 在这种情况下 我可以将输出重定向到文件
  • 如何用C语言函数判断一个文件是否是elf文件?

    在我的程序中 我想识别文件是否是ELF 可执行和可链接格式 类型 如何用C语言函数判断一个文件是否是elf文件 If the only你要做的就是测试文件是否是 ELF 然后读取前 16 个字节来检查文件身份 前四个字节等于 0x7f E
  • 为什么我无法使用 LWP::Simple 获取维基百科页面?

    我正在尝试使用获取维基百科页面LWP 简单 但他们不会回来了 这段代码 usr bin perl use strict use LWP Simple print get http en wikipedia org wiki Stack ov
  • Python dict.get() 引发 KeyError

    我在这里迷路了 Python 2 7 我有一本字典mt 我用get 方法 文档中说 get key default 如果 key 位于则返回 key 的值 字典 否则默认 如果没有给出默认值 则默认为 无 因此该方法永远不会引发KeyErr
  • AngularJS:观察高度变化的更好方法

    我遇到了旧的可变高度导航问题 Aposition fixes顶部导航和内容margin top naviHeight以下 当数据异步加载时 导航可以改变高度 因此内容的边距也必须随之改变 我希望这是独立的 因此 没有加载数据的代码 而仅在涉
  • 如果锁定的对象内部发生异常,该对象是否会保持锁定状态?

    在 C 线程应用程序中 如果我要锁定一个对象 比如说队列 如果发生异常 该对象是否会保持锁定状态 这是伪代码 int ii lock MyQueue MyClass LclClass MyClass MyQueue Dequeue try
  • 使用 OpenSSL 读取证书文件时出现 Ruby 错误

    我正在尝试做一个简单的OpenSSL X509 Certificate new File read testuser p12 来自IRB与红宝石 1 8 7 或 1 9 2 两者结果相同 我得到的错误是OpenSSL X509 Certif
  • 使用包含空格的文件名的 GNUMake 最可靠的方法是什么?

    我想使用 GNUMake 运行基于规则的 makefile 该文件在目录结构中 在 Windows 文件系统上 构建一组 C 文件 根目录 部分子目录和部分文件包含空格 示例文件 C Documents and Settings
  • 命名和未命名匿名 Javascript 函数之间的差异

    通常 在 Javascript 中 当我想将匿名 内联函数作为参数传递给另一个函数时 我会执行以下操作之一 someFunctionCall function someFunctionCall gt 然而 我最近继承了一个使用的代码库nam