假设这是我生成对象的工厂函数。
const generateObjectWithId = (id,value) => (
{id,value}
);
我在生成对象之前声明了一个 Id,然后使用 ++
递增它。
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
增加计数器然后传递它
关于javascript - 为什么当我在参数传递过程中增加函数值时,函数却收到原始值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63445081/