您好,登錄后才能下訂單哦!
這篇文章主要介紹了js中slice屬于是深拷貝還是淺拷貝,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
JS是JavaScript的簡稱,它是一種直譯式的腳本語言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,主要用于web的開發,可以給網站添加各種各樣的動態效果,讓網頁更加美觀。
通過之前的介紹,我們知道slice是一個切片方法,它既可以在原來的數組基礎上做了一次淺拷貝,也可以拷貝數組的所有目錄,整個復制一份,返回一個數組的一段(仍為數組),進行深拷貝。
一、slice淺拷貝
就是只拷貝第一級目錄,拷貝一個數組(或者一部分),不拷貝更深層次的目錄。
1、使用語法
Array.slice([start[, end])
2、使用說明
通過start 和 end對原數組進行淺拷貝(提取 start 至 end 索引的數組元素)
3、返回值
返回一個淺復制,start閉end開。
4、使用實例
var arr = ['A', 'B', 'C', 'D']; var res = arr.slice() console.log('arr', arr); // ['A', 'B', 'C', 'D'] console.log('res', res); // ['A', 'B', 'C', 'D']
二、slice深拷貝
就是對于array對象的slice函數,拷貝數組的所有目錄,整個復制一份,返回一個數組的一段(仍為數組),切斷了二級及以上目錄的引用關系。
1、使用語法
arrayObj.slice(start, [end])
2、參數
start 必選項。arrayObj 中所指定的部分的開始元素是從零開始計算的下標。
end可選項。arrayObj 中所指定的部分的結束元素是從零開始計算的下標。
3、返回值
返回一個 Array 對象,其中包含了 arrayObj 的指定部分。
4、使用實例
let arr1 = [1, 2, 3], arr2 = arr1.slice(); arr2.pop(); console.log(arr1); console.log(arr2);
感謝你能夠認真閱讀完這篇文章,希望小編分享的“js中slice屬于是深拷貝還是淺拷貝”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。