问题标签 [anonymous-function]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
model-view-controller - MATLAB 函数拒绝根据位置运行
我在MATLAB中编写了一个非常简单的 GUI,可以转换温度。它旨在作为一类学生的教程。然而奇怪的事情发生了。与任何MVC设计模式一样,有一个模型对象、一个视图对象和一个控制器函数。为了设置 GUI 的输出字段(转换后的温度),您可以在控制器函数本身中运行此行:
set(views.outputTextField,'string',num2str(round(model.outTemp)));
其中views.outputTextField
是一个 GUI 文本字段,用于显示转换后的温度,model.outTemp
是转换后的温度。很简单。视图对象具有对所有 GUI uicontrols 的引用,这会使用模型对象中新转换的温度更新字段。
但是,我宁愿在视图对象中有视图函数,所以我尝试创建这样的一行:
和以前一样,只是现在它是视图对象中的一个匿名函数。这样我就可以简单地从控制器调用函数,views.updateOutputField();
并将视图逻辑排除在控制器逻辑之外。但是这个方法行不通!(它将与该get()
功能一起使用。)
相反,我必须执行以下操作:
通过分离函数(冗余地)而不是仅仅使用匿名函数,它可以再次工作。什么!?这对我来说毫无意义。视图和模型对象是全局的,匿名函数与get()
. 有谁知道这里发生了什么?
javascript - 解释封装的匿名函数语法
概括
你能解释一下 JavaScript 中封装匿名函数的语法背后的原因吗?为什么这行得通:(function(){})();
但这不行:function(){}();
?
我知道的
在 JavaScript 中,创建一个命名函数,如下所示:
您还可以创建一个匿名函数并将其分配给一个变量:
您可以通过创建一个匿名函数来封装代码块,然后将其包裹在括号中并立即执行:
这在创建模块化脚本时很有用,以避免将当前范围或全局范围与潜在的冲突变量混淆 - 例如 Greasemonkey 脚本、jQuery 插件等。
现在,我明白为什么会这样了。括号括起内容并仅显示结果(我相信有更好的方式来描述它),例如 with (2 + 2) === 4
.
我不明白的
但我不明白为什么这不能同样有效:
你能给我解释一下吗?
c - C中的假匿名函数
在这个 SO线程中,Brian Postow 提出了一个涉及假匿名函数的解决方案:
制作一个 comp(L) 函数,该函数返回长度为 L 的数组的 comp 版本...这样 L 就成为参数,而不是全局
如何实现这样的功能?
javascript - 有什么方法可以避免在 jQuery 中使用匿名函数?
如果我有一大段这样的代码:
有什么办法可以摆脱匿名函数,然后说:
matlab - 在 MATLAB 中使用匿名函数会降低性能……其他人注意到了吗?
为了重构我的 MATLAB 代码,我想我会在函数式编程的启发下将函数作为参数传递(MATLAB 称之为匿名函数)。
但是,似乎性能受到了相当严重的打击。在下面的示例中,我比较了不同的方法。(代码片段被包装在一个函数中,以便能够使用子函数)
我得到的结果是直接 0 秒,使用子函数几乎 0 秒,使用匿名函数 5 秒。我在 OS X 10.6、C2D 1.8 GHz 上运行 MATLAB 7.7 (R2007b)。
任何人都可以运行代码,看看他们得到了什么?我对 Windows 上的性能特别感兴趣。
javascript - addEventListener 匿名函数中的 Javascript 变量范围
当点击每个 div 时,如果点击了 div 1,它应该提示“1”,如果点击了 div 2,它应该提示“5”。我试图让这段代码尽可能简单,因为这是一个更大的应用程序所需要的。
谢谢你的帮助!:-)
python - 如何在 Scala 中近似 Python 或运算符以进行集合比较?
听完最新的 Stack Overflow 播客后,Peter Norvig 的紧凑型 Python 拼写检查器引起了我的兴趣,所以我决定在 Scala 中实现它,如果我能用函数式 Scala 成语很好地表达它,并且看看它需要多少行代码.
这是整个问题。(我们先不要比较代码行。)
(两个注意事项:如果你愿意,你可以在 Scala 解释器中运行它。如果你需要 big.txt 的副本,或者整个项目,它在 GitHub 上。)
具体来说,我想知道我是否可以使用该correct
功能做任何更清洁的事情。在原始 Python 中,实现更简洁一些:
显然,在 Python 中,一个空集将评估为 Boolean False
,因此只有第一个返回非空集的候选者将被评估,从而节省了对edits1
and的潜在昂贵调用known_edits2
。
我想出的唯一解决方案是您在此处看到的版本,其中Seq
调用匿名函数,直到返回一个 non-empty Set
,最后一个保证会这样做。
如此有经验的 Scala-heads,有没有更简洁或更好的方法来做到这一点?提前致谢!
design-patterns - 有什么方法可以内联调用 XSLT 模板
如何内联调用 XSLT 模板?例如,而不是:
我可以使用 XSLT 内置函数调用样式吗,如下所示:
javascript - 如何在不使用匿名回调参数的情况下访问 jQuery 事件
通常,当需要访问事件时,您可以通过回调函数中指定的参数来实现:
但是相反(由于过于复杂的原因无法进入这里),我不想使用匿名回调函数,而是指定一个要调用的函数,如下所示:
所以你会注意到我在functionToCall() 中包含了'ev' 作为参数,但这显然行不通,因为我没有使用匿名回调函数。但我仍然需要在 functionToCall() 中访问该单击事件(以检查 ev.target)。我的问题是,我如何访问此活动?如果我能做这样的事情会很好:
和
任何想法将不胜感激。谢谢。
scala - 定义 Scala 匿名函数时可以使用块吗?
我有这个方法:
我知道我可以称之为:
有没有办法可以使用大括号来调用它?就像是:
还是我必须用另一种方法编写它并将其传递给myMethod
?