JavaScript中的slice函數

來源:互聯網
上載者:User

標籤:

String.slice(start,end)

slice()返回一個子片段,對原先的string沒有影響,與subString的區別是,還可以用負數當參數,相當於是length+start,length+end.

例1:

var s = "abcdefg";s.slice(0,4)    // "abcd"s.slice(2,4)    // "cd"s.slice(4)      // "efg"s.slice(3,-1)   // "def"s.slice(3,-2)   // "de"s.slice(-3,-1)  // "ef"

 

Array.slice(start,end)

返回從start開始到end的子數組,如果end這個參數沒有被設定,則返回從start開始到最後的數組元素。

例2:

var a = [1,2,3,4,5];a.slice(0,3);    // [1,2,3]a.slice(3);      // [4,5]a.slice(1,-1);   // [2,3,4]a.slice(-3,-2);  // [3]

 

除了正常用法,slice 經常用來將 array-like 對象轉換為 true array。在一些架構中會經常有這種用法。

Array.prototype.slice.call(arguments);//將參數轉換成真正的數組.

因為arguments不是真正的Array,雖然arguments有length屬性,但是沒有slice方法,所以呢,Array.prototype.slice()執行的時候,Array.prototype已經被call改成arguments了,因為滿足slice執行的條件(有length屬性).

 

轉自:http://www.cnblogs.com/onlywujun/p/3515813.html

 

JavaScript中的slice函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.