请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么在老师3-9这里要使用slice()方法呢?

//在6分20秒左右
var page = this.page.slice(-1)[0]

我知道使用slice获得的是一个从下标开始截断的数组,为什么要这样?

正在回答 回答被采纳积分+3

2回答

Lyn 2016-08-08 14:25:32

this.page 是一个数组

    this.addPage = function( name , text ){
        var page = $('<div class="h5_page section">');

        if( name != undefined ){
            page.addClass('h5_page_'+name);
        }
        if( text != undefined ){
            page.text(text);
        }
        this.el.append(page);
        this.page.push( page ); // <<---- 在这里定义的
        if( typeof this.whenAddPage === 'function' ){
            this.whenAddPage();
        }
        return this;
    }

【当前】 page 要新增一个组件的话,【当前】我们是默认认为最后一页就是【当前页】。

  this.addComponent = function(name, cfg){
        var cfg = cfg || {};
        cfg = $.extend({
             type : 'base'
         },cfg);
        var component;  //  定义一个变量,存储 组件元素
        var page = this.page.slice(-1)[0]; //<----- 这里获得最后一页

实际上。等价于

this.page.slice(-1)[0] === this.page[ this.page.length-1 ]


2 回复 有任何疑惑可以回复我~
提问者 QuaciXie 2016-08-13 08:37:37

我明白了,我是忘记了负数指的是从最后一项往前截断,所以说这里指的就是最后一项,也就是最新添加的页面,谢谢老师的回答

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信