js函數傳參是對數據的淺拷貝,如果是復雜數據類型的對象,那么對數據的修改會改變原始數據,而簡單數據類型的則不會,測試代碼如下:
let obj = { name: '海子', } function changeObj(param) { param.name = 'haizi' } changeObj(obj) console.log({obj})
let obj = { person: { name: '張三' }, } function changeObj(param) { param.person.name = 'zhangsan' } changeObj(obj) console.log({obj})
let name = '里斯本' function changeObj(param) { param = 'lisiben' } changeObj(name) console.log({name})