如何精简JSDARES挑战中JavaScript函数的重复代码?
优化代码减少重复输出
可以把重复的console.log语句提取到条件判断之外,只针对died字段的特殊情况单独处理,大幅减少代码冗余:
function person(name, born, died, knownFor) { console.log("Name : " + name); console.log("Born in : " + born); if (died !== 0) { console.log("Died in : " + died); } console.log("Known for : " + knownFor); console.log(""); } console.log("Famous people in computing:"); console.log(""); person("Charles Babbage", 1815, 1871, "first computer"); person("Ada Lovelace", 1815, 1852, "first programmer"); person("George Boole", 1815, 1864, "Boolean logic"); person("Grace Hopper", 1906, 1992, "first language"); person("Alan Turing", 1912, 1954, "Turing machine"); person("Douglas Engelbart", 1925, 0, "Computer mouse"); person("Bill Gates", 1955, 0, "Microsoft"); person("Steve Jobs", 1955, 2011, "Apple"); person("Linus Torvalds", 1969, 0, "Linux"); person("Tim Berners-Lee", 1955, 0, "World Wide Web"); console.log("And many more...");
核心思路
- 把所有固定输出的内容(姓名、出生年份、成就)放在函数外层,避免在两个分支里重复编写相同代码
- 仅对
died字段做条件判断:当died不等于0时,才输出死亡年份行 - 既保留原有逻辑,又将函数内代码从12行精简到7行,同时提升了代码的可读性和维护性
内容的提问来源于stack exchange,提问作者NickyCodeNow
相关产品推荐
相关产品推荐

