zoukankan      html  css  js  c++  java
  • JavaScript中的slice函数

    String.slice(start,end)
    returns a string containing a slice, or substring, of string. It does not modify string。
    slice()返回一个子片段,对原先的string没有影响,与subString的区别是,还可以用负数当参数,相当于是length+start,length+end.

    Example:

    //from javascript-the definitive Guide 5th Edition
    var s = "abcdefg";
    s.slice(0,4)    // Returns "abcd"
    s.slice(2,4)    // Returns "cd"
    s.slice(4)      // Returns "efg"
    s.slice(3,-1)   // Returns "def"
    s.slice(3,-2)   // Returns "de"
    s.slice(-3,-1)  // Should return "ef"; returns "abcdef" in IE 4

    2.Array.slice(start,end)

    returns a slice, or subarray, of array. The returned array contains the element specified by start and all subsequent elements up to, but not including, the element specified by end. If end is not specified, the returned array contains all elements from the start to the end of array.
    返回从start开始到end的子数组,如果end这个参数没有被设置,则返回从start开始到最后的数组元素。
    Example:

    var a = [1,2,3,4,5];
    a.slice(0,3);    // Returns [1,2,3]
    a.slice(3);      // Returns [4,5]
    a.slice(1,-1);   // Returns [2,3,4]
    a.slice(-3,-2);  // Returns [3]; buggy in IE 4: returns [1,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属性).

  • 相关阅读:
    Appium Android 元素定位方法 原生+H5
    Eclipse下Python的MySQLdb的安装以及相关问题
    Python模块包中__init__.py文件的作用
    如何调用另一个python文件中的代码
    Python单元测试框架unittest使用方法讲解
    python利用unittest进行测试用例执行的几种方式
    python随机生成手机号码
    eclipse 安装python后pydev不出现
    Appium 如何模拟返回按键
    python分布式进程
  • 原文地址:https://www.cnblogs.com/onlywujun/p/3515813.html
Copyright © 2011-2022 走看看