(求教)關於js函式按值、引用傳遞的問題

征服天堂1926發表於2018-10-14

看了高教這本書,函式傳遞的章節,有這樣的程式碼: function setName(obj) { obj.name = '小明' obj = new Object() obj.name = '小華' } var person = new Object() setName(person) console.log(person.name) 書上說的是函式引數是按值傳遞的,當在函式內部重寫obj時,這個變數引用 的就是一個區域性變數了,但是我自己寫了一個: var obj1 = new Object() var obj2 = obj1 obj1.name = '小明' obj1 = new Object() obj1.name = '小華' obj2.age = 22 console.log(obj1.age) //undefinded console.log(obj2.name) //小明 重寫obj1後,改變obj1的值,obj2的值沒有變,相反的改變obj2值後,也同樣不會變,這不是跟函式的傳參一樣嗎,都是按值傳遞的

相關文章