我们在写js中,报错了"missing ) after argument list",代码报错可能甚至在第一行,这时候可能就蒙蔽了,我第一行没错啊,一般第一行出错是不会是第一行的问题。

这个时候我们来看这个问题,翻译过来就是缺少括号了,但是翻过来覆过去,就不是括号的问题,这时候可能就更蒙蔽了。

这种问题一般出在拼接参数的时候

第一点,就得在拼接参数里面去查看引号的使用,引号的使用一定要符合规范,单双引号要互相保函使用。

JSON.parse(data).forEach(res => {
     html +=`<div class="box"><img src="${res.src}" alt="">
     <p>${res.name}</p>
     <span class="goods_item_price" data-price-id="100004222715" style="">${res.price} 
     </span>
     <a href="#" id="InitCartUrl" class="btn-special1 btn-lg"
     onclick="addFn(${res.src},${res.name},${res.price},1)">加入购物车</a></div>`;
            });

第二点,以我遇到的问题为例,我用的是反引号拼接的方式,不存在单双引号的问题,这时候就要去查看传参的问题,在DOM0级事件绑定,也就是行内绑定,进行传参时,参数需要用转义符转义。如下图在onclick的传参上进行修改。

JSON.parse(data).forEach(res => {
     html +=`<div class="box"><img src="${res.src}" alt="">
     <p>${res.name}</p>
     <span class="goods_item_price" data-price-id="100004222715" style="">${res.price} 
     </span>
     <a href="#" id="InitCartUrl" class="btn-special1 btn-lg"
     onclick="addFn(\'${res.src}\',\'${res.name}\',\'${res.price}\',1)">加入购物车</a></div>`;
            });

所以在写拼接参数时,应更为细心,注意到每个问题。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐