【发布时间】:2018-02-09 01:49:14
【问题描述】:
let someArgs = {x:1, y:2}
let dog = args => {return args}
let cat = dog.bind(null, someArgs)
someArgs = {x:3, y: 4}
cat() // {x:1, y:2}
谁能解释为什么对cat 的调用没有返回{x:3, y:4}?我以为对象是通过引用传递的?
【问题讨论】:
-
您正在用新对象替换
someArgs对象,但原始对象被绑定为cat的第一个参数 - 但这是一个不同的对象......替换之间存在差异一个对象并改变一个对象的内容
标签: javascript function bind pass-by-reference partial-application