zoukankan      html  css  js  c++  java
  • JavaScript学习笔记之应用技巧

    slice() 方法可从已有的数组中返回选定的元素。

    arrayObject.slice(start,end)

    参数 描述
    start 必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。
    end 可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

    返回值

    返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

    说明

    请注意,该方法并不会修改数组,而是返回一个子数组。如果想删除数组中的一段元素,应该使用方法 Array.splice()。

    提示和注释

    注释:您可使用负值从数组的尾部选取元素。

    注释:如果 end 未被规定,那么 slice() 方法会选取从 start 到数组结尾的所有元素。

    从数组中删除一个元素
    或许我们可以通过delete来做到:

    1 var arr = [1, 2, 3, 4, 5];
    2 delete arr[1];
    3 arr; // [1, undefined, 3, 4, 5]

    可以看到,delete并不能真正的删除数组中的一个元素。删除的元素会被undefined取代,数组的长度并没有变化。

    事实上,我们可以通过Array.prototype中的splice函数来删除数组中的元素,如下所示:

    1 var arr = [1, 2, 3, 4, 5];
    2 arr.splice(1, 1);
    3 arr; // [1, 3, 4, 5]

    函数也是对象
    在JavaScript中函数也是对象,因为我们可以为函数添加属性。
    比如:

    1 function add() {
    2     return add.count++;
    3 }
    4 add.count = 0;
    5 add();    // 0
    6 add();    // 1
    7 add();    // 2

    我们为函数add添加了count属性,用来记录此函数被调用的次数。

    当然这可以通过更优雅的方式来实现:

    1 function add() {
    2     if(!arguments.callee.count) {
    3         arguments.callee.count = 0;
    4     }
    5     return arguments.callee.count++;
    6 }
    7 add();    // 0
    8 add();    // 1
    9 add();    // 2

    arguments.callee指向当前正在运行的函数。


  • 相关阅读:
    ajax专题
    luogu P1346 电车 最短路
    luogu P1462 通往奥格瑞玛的道路 最短路
    luogu P1328 生活大爆炸版石头剪刀布
    luogu P1315 联合权值 枚举
    luogu P1156 垃圾陷阱 背包问题
    luogu P1217 回文质数 枚举
    luogu P3650 滑雪课程设计 枚举
    luogu1209 修理牛棚 贪心
    luogu P1223 排队接水 贪心
  • 原文地址:https://www.cnblogs.com/johnwonder/p/1673062.html
Copyright © 2011-2022 走看看