据我所知,对象在
JavaScript中通过引用传递(原语通过值传递?).
var a,b; a = { Foo: "Bar" } b = a; a.Foo = "Other"; console.log(b.Foo); // "Other"
这与数组的工作方式类似但不像我期望的那样工作:
var a,b; a = function(){ return 20; } b = a; a = function(){ return 40; } console.log(b()); // returns 20 ?
我很困惑,因为我认为函数是对象.上面的例子不应该返回40吗?