javascript - JS:为什么不返回带有`function`字的内部函数?
问题描述
如果我正在制作一个工厂函数foo
,为什么我不返回内部函数function noiseMade()
而不仅仅是返回noiseMade()
?
function foo() {
let sound = "buzz"
return {
noiseMade() {
return "I make" + sound
}
}
}
解决方案
从评论中总结我们的对话。对象中的函数支持的语法:
{
makeNoise: function() {}
}
// ES6 and above
{
makeNoise() {},
makeAnotherNoise: () => {} // behave a bit different, read about arrow functions for more info
}
如果你想从另一个函数返回一个函数,你可以即:
const makeNoise = () => {
const sound = 'bork';
return () => { console.log(sound) };
}
还有一个额外的免费评论 :) 最好使用verbs
函数名称,因为函数通常是do
东西 :)
推荐阅读
- java - 什么标志'| ' 在 java 中是什么意思?
- rest - NullPointer 与 org.eclipse.persistence.jaxb.rs.MOXyJsonProvider.writeTo 同时使用 jax-rs 构建 rest api
- r - 在 R 中使用 ggplot 制作龙卷风图
- android - 以编程方式将主题设置为 Android 系统预览窗口
- python-3.x - 使用 Pyrebase 拒绝 Firebase 数据库的权限
- c# - 有没有办法在代码中指定引用?
- javascript - 需要帮助限制数组/优化 axios 响应
- java - pcap4j - Android Proguard/R8 配置
- php - PHP/FPDF 一直在 cloudflare 后面加载
- android - FutureBuilder 不返回小部件