JavaScript中如何将if-else条件语句内的匹配输出存储到外部变量
将分支匹配结果存入外部变量的实现方案
核心修改思路
不需要重构原有if-else的判断逻辑,只需要调整两处即可实现需求:
- 在多分支判断结构的外部提前声明空值变量,用来承接每个分支匹配到的提示文本
- 把每个分支内原本传给
console.log的字符串,替换为对这个外部变量的赋值操作
改造后的完整可运行代码
var totalNumber = 300; // 示例输入总分 var gradeMark = Math.round(totalNumber / 6); // 在判断块外部提前声明变量,用空字符串做初始值 var validGradeMark = ''; // 原有评级判断逻辑保持不变 if (gradeMark >= 80) { validGradeMark = "You got A+"; } else if (gradeMark >= 70) { validGradeMark = "You got A"; } // 中间省略的其余评级分支,按同样逻辑补全赋值即可 else if (gradeMark >= 0) { validGradeMark = "You got F"; } else { validGradeMark = "It's not valid mark"; } // 后续需要输出、传参时直接调用validGradeMark即可 console.log(validGradeMark);
实操注意事项
- 严禁把
validGradeMark的声明放在if判断块内部,否则变量的作用域会被限制在对应的单个分支块中,外部代码无法读取到赋值结果。 - 不需要在每个分支里同时写赋值和
console.log操作,所有分支赋值完成后,统一在判断块外部做打印、数据上报等处理即可,后续修改提示文本时只需要调整一处,能大幅减少冗余代码。 - 原有分支的判断顺序完全不需要调整,按分数从高到低匹配的逻辑本身符合短路径优先的特性,没有多余的判断开销。
内容的提问来源于stack exchange,提问作者user12471837
相关产品推荐
相关产品推荐

