如何解决在参数传递过程中将其递增后,为什么函数会接收原始值?
const generateObjectWithId = (id,value) => (
{id,value}
);
将其递增
let currentId = 0;
const object = generateObjectWithId(currentId++,"sample");
结果:
console.log(currentId) => 1
console.log(object) => {id:0,value:"sample"}
currentId
增加到1,但是我从工厂函数收到的object
的ID为0。
在传递参数之前,我已经通过增加currentId来修复它,并且现在可以正常工作。
我的解决方法:
let currentId = 0;
currentId++; //or currentId = currentId + 1;
const object = generateObjectWithId(currentId,"sample");
但是我需要有人的帮助来解释为什么为什么在参数内部进行增量操作无效。
非常感谢。
解决方法
currentId++
,这会在通过后增加计数器
而++currentId
会增加计数器,然后将其传递
它将在将索引传递给函数后递增索引。如果您使用了++currentId
,它应该可以工作。
currentId++
表示执行后增加。我认为您需要的是++currentId
,这意味着先递增然后执行。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。