var square = (a) => a * a;
var callAndLog = (func) => {
return function () {
var res = func.apply(undefined, arguments);
console.log("Result is: " + res);
return res;
}
};
var squareAndLog = callAndLog(square);
squareAndLog(5); // Result is 25
这里,当我返回一个箭头函数insted时,它不起作用:
var square = (a) => a * a;
var callAndLog = (func) => {
return (() => {
var res = func.apply(undefined, arguments);
console.log("Result is: " + res);
return res;
})
};
var squareAndLog = callAndLog(square);
squareAndLog(5); // Result is NaN
我知道箭头函数是松散的,这就是为什么我在这里尝试在括号()
中返回它。没有他们也不行。
来自MDN:
箭头函数表达式的语法比函数表达式短,并且不绑定自己的this
、参数
、super
或new.target
。
箭头函数不将参数
对象绑定到其主体。您的函数依赖于参数
的使用,因此它不能作为箭头函数工作。
var square = (a) => a * a;
var callAndLog = (func) => {
return (...args) => {
var res = func.apply(undefined, args);
console.log("Result is: " + res);
return res;
};
};
var squareAndLog = callAndLog(square);
squareAndLog(5);
问题内容: 我有一个箭头函数,看起来像这样(简化): 但是当我调用它时,我得到: 为什么? 例: ( 注意: 对于上述带有箭头功能的 特定 问题,这是一个干净,规范的重复目标。) 问题答案: 当您使用箭头函数的函数主体版本(带有)时,没有暗示。您必须指定它。当您使用 简洁 主体(no )时,主体表达式的结果将由函数隐式返回。 因此,您可以使用显式的方式编写该代码: 或简洁的主体: 例子: 略 切线
我正在阅读ScrollListView的源代码,在一些地方我看到了的用法。 88号线。 这是的缩写吗?如果有什么不同,又是怎么回事?
它必须是基本的,但请帮助我理解为什么这不起作用。 当我编写一个普通的arrow函数并返回jsx时,它就工作了。但是,当我使用async/await请求和相同的arrow函数返回jsx时,它失败了。 编辑: 实际上,我必须在列表视图中显示用户的配置文件图像。所以,我调用这个函数来检索我的块中相应用户的图像 这很有效 但事实并非如此
问题内容: 我试图从我的主函数返回一个更大的值,例如1000,但是当我键入它时显示0。 如果我返回一个较小的值(如100),它将显示正确的值。 我的代码: 我们可以返回的值是否有限制? 问题答案: 这里有两个相关的概念:C退出状态和bash返回代码。它们都覆盖0-255的范围,但是bash出于自己的目的使用大于126的数字,因此从程序中返回这些值会造成混乱。 为了安全起见,请将退出状态代码限制为0
在上面的代码中,执行以下语句时不调用复制构造函数: 既然返回是按值的,为什么不调用复制构造函数? 谢啦
我先试过这个- 很好用。现在我用胖箭做了同样的事情。在这种情况下,“this”是未定义的。