为什么在老师3-9这里要使用slice()方法呢?
来源:3-8 内容组织类-H5(addPage方法)
QuaciXie
2016-08-04
//在6分20秒左右 var page = this.page.slice(-1)[0]
我知道使用slice获得的是一个从下标开始截断的数组,为什么要这样?
写回答
2回答
-
Lyn
2016-08-08
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 ]
20 -
QuaciXie
提问者
2016-08-13
我明白了,我是忘记了负数指的是从最后一项往前截断,所以说这里指的就是最后一项,也就是最新添加的页面,谢谢老师的回答
00
相似问题