您的位置:首页 > Web前端 > JavaScript

JavaScript中的slice函数

2016-04-06 16:21 459 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: