问题标签 [function-expression]

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.

0 投票
2 回答
33 浏览

javascript - 是否可以为匿名函数提供参数?

给定

为什么使用匿名函数不适用于数组 filter() 方法?

使用声明的函数工作正常:

0 投票
2 回答
45 浏览

javascript - 函数表达式参数未赋值,但有值

我希望有人可以解释下面的函数表达式是如何工作的。参数 'p' 没有被赋值,但它在函数体中用于计算(定义“角度”和“尾巴”变量),并在调用 draw() 时用作参数对象。当您单步执行代码时,您可以看到参数“p”确实有一个值(见附图) - 但我不明白该值来自哪里。请注意,在查看完整代码后,不会在其他任何地方注明“p”。

当您将“p”记录到控制台时,您会看到以下值,随着应用程序的运行,这些值会继续增加: console.log(p) 的图像;

这是完整的函数表达式和函数调用:

除了“p”如何获取控制台中显示的值之外,我了解有关此代码的所有内容。另外 - 如果不清楚,这是一个 html5 画布应用程序。

(旁注:不,$上面不是 jQuery。这只是原作者用于她的画布上下文对象的东西。)

0 投票
1 回答
197 浏览

javascript - 覆盖函数表达式事件侦听器不起作用

我试图覆盖附加到事件侦听器的函数,但是当事件被触发时,旧的仍然被调用。

任何形式的帮助都非常感谢。万分感谢!

0 投票
3 回答
43 浏览

javascript - 在函数表达式上使用 .map 时难以理解参数内容

所以我在看函数表达式。

这是我正在玩的代码:

它工作正常,但我无法理解其中的一部分。我掌握了.map正在做什么,但参数真的让我很震惊。参数如何收集数组的信息?我称它为奶酪,因为这只是我的首选测试词。

我已经阅读了一些解释,但我只是没有理解它,希望这里有人可以稍微简化解释。谢谢你。

0 投票
1 回答
37 浏览

javascript - 使用函数表达式的困难

希望你能回答!

在这里,当我为此 saveInfo 函数使用函数声明时,它正确地执行了所有功能,但是当我使用函数表达式时,它只是重新加载页面,没有任何反应。请帮我。如果您需要更多关于代码的说明, 请访问 github

0 投票
0 回答
20 浏览

javascript - 为 React 组件类创建函数的优缺点和最佳实践是什么?

这两个类都做同样的事情,但 ClassA 似乎是多余的,因为每次声明函数时都必须进行绑定,而 ClassB 看起来不像 ClassA 那样干净,因为函​​数创建类型的差异。

要摆脱 ClassB 中的函数创建差异,您可能可以这样做,其中一切都是表达式。

在这种情况下,函数声明和表达式之间的优缺点是什么?是否存在任何性能、内存甚至可维护性差异?

编辑:我想用今天的标准技术,性能差异不是很明显。我想我真正想从这个问题中得到什么是为类创建函数的最佳实践(尤其是 React 组件)

0 投票
1 回答
317 浏览

javascript - AngularJS Provider 不接受 ES6 函数声明

我一直在尝试重写我们的一些代码以符合 ES6 并遇到以下问题。

angular.js:63 未捕获的错误:[$injector:modulerr] 无法实例化模块应用程序,原因是:错误:[$injector:pget] 提供者“books”必须定义 $get 工厂方法。

这是我在这段代码中编写提供程序对象的时候。

当我const books = () => { ... }改为这个时,const books = function() { ... }. 它会工作并且不会抛出那个错误。

我还以为const a = function() { ... }const a = () => { ... }哪里一样呢?为什么它会抛出这个错误?

0 投票
1 回答
195 浏览

javascript - 如何检查分配给缺少的匿名函数表达式的变量是否为 null 或 undefined?

在注释掉下面的匿名函数表达式“a”时,如何正确检查“b”上的 NULL?用例:假设“a”是分配给“b”的页面内 JS 包含(库),但库无法加载,现在出现控制台错误。

0 投票
0 回答
24 浏览

javascript - Javascript中的函数表达式到底是什么?

所以我发现这个术语有点混乱。我通常会看到教程谈论函数表达式,其中将变量分配给函数,但也来自 Mozilla 的官方网站function expression,它说:

函数表达式与函数语句非常相似并且语法几乎相同(详见函数语句)。函数表达式和函数语句的主要区别在于函数名,可以在函数表达式中省略函数名以创建匿名函数。函数表达式可以用作 IIFE(立即调用函数表达式),它在定义后立即运行。另请参阅有关功能的章节以获取更多信息。

所以它没有提到任何关于变量赋值的内容。那么,是

或者

是函数表达式吗?或者他们都不是?谁能给我一个简洁的定义?

多谢你们!

编辑:或者,是

调用函数语句?它是一个匿名函数?

0 投票
0 回答
35 浏览

javascript - 函数表达式是否假定词法封闭函数上下文的 this ?

我对此很有信心function declarations does not has lexical contextarrow function it does have但我很困惑,如果function expression does

根据我读到的内容,它没有,但在following example两种情况下都可以正常工作(使用函数表达式和箭头函数),所以在我看来它has lexical context。在我理解之后arrow function,它就是short syntax of the function expression这样same capacities。我错了吗?

查看未注释的代码: