Javascript代码可正常运行但与参考答案不同,是否存在问题?
问题解答
1. 是否存在唯一的标准代码写法?
不存在。JavaScript本身语法灵活,同一个业务功能可以有多种实现方式,只要符合语法规范、没有逻辑错误,都是有效的写法,没有绝对唯一的“标准答案”。
2. 功能正常、调试无问题的代码算合格吗?
对你当前的初学者作业场景来说,完全合格。作业的核心要求是验证你是否掌握了基础语法、能不能实现要求的功能,你的代码已经满足了核心要求。
不过参考答案的写法是业内更常用的最佳实践写法,你可以参考两者的差异,慢慢优化自己的编码习惯:
- 减少重复DOM查询:你的代码每次调用运算函数时,都会执行一次
document.getElementById('sum-el')查询DOM元素,相当于每次都要遍历DOM树找节点。参考答案提前将该元素缓存到sumEl变量中,只查询一次,性能更好,后续操作直接用缓存的变量即可。 - 变量声明规范:你在函数内用
var声明变量x,目前ES6+的规范更推荐用let(可修改的局部变量)或const(常量),var存在变量提升、无块级作用域的特性,很容易产生意料之外的bug。 - 文本插入更安全高效:你用
innerHTML插入运算结果,因为你插入的内容只有纯文本,用textContent会更合适:一方面可以避免XSS注入风险,另一方面innerHTML会解析内容中的HTML标签,纯文本场景下textContent性能更高。 - 额外说明:你的代码中不同运算结果的提示文本是对应的运算名称(比如减法显示
Subtraction is:),反而比参考答案不管什么运算都显示Sum:更合理,用户能明确知道当前结果对应的运算类型。
如果后续要向生产环境的代码规范靠拢,还可以把重复的逻辑抽出来,比如四个运算函数里打印日志、更新结果的逻辑是重复的,可以单独抽成公共函数,进一步减少冗余代码,不过对于初学者作业来说完全不需要有这个负担。
内容的提问来源于stack exchange,提问作者Ramzi Osta
相关产品推荐
相关产品推荐

