①出现这样的错误是因为 button控件的 id 名和 函数名相同了,执行的时候先找到的是HTML控件,所以会报这样的错误,修改其中一个名称就OK了。
②前
resetLocal(goods, id,price, function(i){
goods[i].flag = Number(flag)
})
后
define(()=>{
return function(goods,id,cb){
console.log()
let i = 0;
goods.some((val,idx)=>{
i = idx;
return val.id === id;
})
cb(i);
localStorage.setItem("goods", JSON.stringify(goods));
}
})
原因就是多传了一个无用的参数,按顺序,cb匹配到了price,后面实际执行的cb(i)变成了未定义
======出自10.14娜拉美妆项目烦人的bug总结