调用对应函数时console.log无法打印标签与结果,该如何解决?
问题原因&解决方法
你的代码本身不存在语法错误,执行后默认会输出This is : Adding300,如果不符合你的预期或者完全没有输出,可以参考以下方案调整:
- 如果你是觉得输出格式不清晰,标签和计算结果连在一起,可以调整
console.log的拼接逻辑,把计算结果也嵌入模板字符串中,按需增加分隔符即可,比如修改为:
修改后输出内容为// 原来的写法 // console.log(`This is : ${label}`+result); // 修改后的写法 console.log(`This is : ${label},计算结果:${result}`);This is : Adding,计算结果:300,标签和结果区分明确。 - 如果你完全看不到任何输出,可以逐一排查以下场景:
- 检查代码运行环境是否正常加载执行了当前JS脚本,如在浏览器中运行需确认JS文件正确引入到HTML中,无404错误
- 检查控制台的输出过滤规则,确认已开启
log类型输出的显示,没有被错误过滤 - 检查当前代码之前是否有其他报错逻辑,导致代码执行被中断,可查看控制台的报错提示定位问题
- 可选优化:你可以补充不支持计算类型的兜底分支,避免传入非法
text参数时无任何提示,示例如下:function calculationOfNumbers(text, num1, num2) { if (text == 'add') { let label = "Adding"; let result = addFunction(num1, num2); console.log(`This is : ${label},计算结果:${result}`); } else if (text == 'subtract') { let label = "Subtracting"; let result = subtractFunction(num1, num2); console.log(`This is : ${label},计算结果:${result}`); } else { console.log(`不支持的计算类型:${text}`) } }
修正后可直接运行的完整代码
let num1 = 100; let num2 = 200; let text = 'add'; calculationOfNumbers(text, num1, num2); function calculationOfNumbers(text, num1, num2) { if (text == 'add') { let label = "Adding"; let result = addFunction(num1, num2); console.log(`This is : ${label},计算结果:${result}`); } else if (text == 'subtract') { let label = "Subtracting"; let result = subtractFunction(num1, num2); console.log(`This is : ${label},计算结果:${result}`); } else { console.log(`不支持的计算类型:${text}`) } } function addFunction(num1, num2 ) { let result = parseInt(num1) + parseInt(num2); return result; } function subtractFunction(num1, num2) { let result = parseInt(num2) - parseInt(num1) ; return result; }
内容的提问来源于stack exchange,提问作者soccerway
相关产品推荐
相关产品推荐

