之前看<javascript高级程序设计>时就遇到过一个问题,就是函数传参的问题,书上说是按值传递,而非按引用传递.很多人都会认为js里面有两种传值方式,一种是复制,另一种是数组.对象等按引用传递,后来看到知乎上面一道题后才发现不是那么简单.我个人理解就是,js中全部是按值传递. 这个是高级程序设计里面的例子: 也许很多人会迷惑,person.name不该是Greg吗?为什么输出Nicholas? 因为setName函数里面其实相当于把person对象的地址复制了一份,然后赋值给了obj,但是…