1.問題我有一個數(shù)組,希望分多次遍歷它們,想借助slice()函數(shù)在每次遍歷前,得到一些連續(xù)的數(shù)組元素。slice()的官方文檔說:slice() 方法會淺復(fù)制(shallow copy)數(shù)組的一部分到一個新的數(shù)組,并返回這個新數(shù)組。這里說的淺復(fù)制該怎樣理解?2.代碼比如我的代碼:var a = ["php", "python", "java", "c++", "matlab", "ruby", "R", "julia"]var b = a; // 個人認(rèn)為這個是“淺復(fù)制”b === a // truevar c = a.slice()// 看了下c的內(nèi)容:c["php", "python", "java", "c++", "matlab", "ruby", "R", "julia"]c === a // false 為什么是false呢,slice()不是返回淺復(fù)制嗎?我對“淺復(fù)制”的理解是“賦予相同的內(nèi)存地址”,所以b===a是true,但是c===a為什么不是true呢,slice()返回的不是淺復(fù)制嗎?
js的slice( )函數(shù)和淺復(fù)制
UYOU
2018-09-11 06:06:20