代码报错Invalid left-hand side in assignment,求5数平均值程序问题排查
问题分析与解决
错误原因:Invalid left-hand side in assignment
这个错误的核心是你写的赋值语句里,左边不是能被赋值的合法对象,常见触发场景有两种:
- 把赋值运算符
=误写成了相等判断的==,比如本来要给变量赋值,结果写成了判断相等的语句; - 试图把值赋给一个表达式(比如运算结果、无法修改的返回值),比如写了
(a + b) = average这种逻辑颠倒的代码。
针对你的平均值计算程序,大概率是这两个问题:
- 如果是计算平均值时写反了赋值方向,比如错误写法:
正确写法应该把变量放在赋值符号左侧:(parseInt(num1) + parseInt(num2) + parseInt(num3) + parseInt(num4) + parseInt(num5)) / 5 = average;let average = (parseInt(num1) + parseInt(num2) + parseInt(num3) + parseInt(num4) + parseInt(num5)) / 5; - 另一种可能是获取输入框值时写错了运算符,比如错误写法:
这里把赋值的let num1 == document.getElementById("num1").value ? parseInt(document.getElementById("num1").value) : 0;=写成了判断的==,直接触发左侧赋值错误,正确写法要把==改成=。
额外注意点
输入框获取到的值默认是字符串类型,必须用parseInt()或parseFloat()转成数字再计算,不然会变成字符串拼接,导致平均值计算完全错误。
内容的提问来源于stack exchange,提问作者daletrontria
相关产品推荐
相关产品推荐

