为什么用for in计算计提的保险总额前两个算不对,但最后一个算对了
你的代码滚动条不在开头位置,代码最左边看不到
而且你也没说清楚,你的正确输出应该是什么,怎么不对
let obj = {name:'zhou',age:'**'}
for(let i in obj){
console.log(i,obj[i])
}
// name zhou
// age **
for in 循环主要用于遍历普通对象
,i 代表对象的 key 值,obj[i] 代表对应的 value.
当用它来遍历数组时候,多数情况下也能达到同样的效果,但是你不要这么做,这是有风险的,因为 i 输出为字符串形式,而不是数组需要的数字下标,这意味着在某些情况下,会发生字符串运算,导致数据错误,比如:‘52’+1 = ‘521’ 而不是我们需要的 53。另外 for in 循环的时候,不仅遍历自身的属性,还会找到 prototype 上去,所以最好在循环体内加一个判断,就用 obj[i].hasOwnProperty(i),这样就避免遍历出太多不需要的属性。