为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法以任意顺序定义 JS 函数?

有没有办法以任意顺序定义 JS 函数?

沧海一幻觉 2022-05-26 10:20:15
我喜欢函数式编程思想,即每个函数只服务一个目的等等......不过,我不知道如何使我的代码在排序功能方面具有人类可读性。// writeParagraph.jsconst writeWord = (wordArgs) => {  // do stuff with wordArgs  return word}const writeSentence = (sentenceArgs) => {  const sentence = sentenceArgs.map(writeWords)  return sentence}export const writeParagraph = (paragraphArgs) => {  const paragraph = paragraphArgs.map(writeSentence)  return paragraph} 每当我打开它writeParagraph.js来探索其中的内容时,我都会寻找这个export const writeParagraph部分。要阅读它,我必须去writeSentence上面,而不是下面。作为一个人,我习惯于从上到下阅读。有没有办法构建功能代码以从上到下阅读。
查看完整描述

2 回答

?
元芳怎么了

TA贡献1798条经验 获得超7个赞

如果您喜欢不同的顺序,您可以更改它:


export const writeParagraph = (paragraphArgs) => {

  const paragraph = paragraphArgs.map(writeSentence)

  return paragraph


const writeSentence = (sentenceArgs) => {

  const sentence = sentenceArgs.map(writeWords)

  return sentence

}


const writeWord = (wordArgs) => {

  // do stuff with wordArgs

  return word

}

这是有效的,因为所有函数都在同一范围内声明,并且可以相互访问。


如果您的 linter 现在抱怨潜在的 use-before-define (即使您没有这样做),您可以禁用该规则(如果您知道自己在做什么)或使用正确的声明代替:


export function writeParagraph(paragraphArgs) {

  const paragraph = paragraphArgs.map(writeSentence)

  return paragraph


function writeSentence(sentenceArgs) {

  const sentence = sentenceArgs.map(writeWords)

  return sentence

}


function writeWord(wordArgs) {

  // do stuff with wordArgs

  return word

}


查看完整回答
反对 回复 2022-05-26
?
慕姐4208626

TA贡献1852条经验 获得超7个赞

代码顺序可能是主观的。

有些文化从书的背面向右阅读。有些从右到左阅读。

我认为这就是发明评论的原因。

在顶部放置一个注释块,解释代码的顺序。


查看完整回答
反对 回复 2022-05-26
  • 2 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号