码迷,mamicode.com
首页 > 其他好文 > 详细

自学前端开发:模拟Array功能 不是扩展子类

时间:2017-05-04 14:50:17      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:ges   alt   console   myarray   length   splice   nts   开发   前端   

function MyArray(){};//创建模拟数组功能的构造函数

                    MyArray.prototype.length=0;//解决IE下使用扩展子类 数组length的bug

                    (function(){

                        var methods=[‘push‘,‘pop‘,‘shift‘,‘unshift‘,‘slice‘,‘splice‘,‘join‘];

                        for(var i=0;i<methods.length;i++){

                            (function(name){

                                MyArray.prototype[name]=function(){

                                    return Array.prototype[name].apply(this,arguments);

                                };

                            })(methods[i]);//根据传进来的methods值 来继承Array

                        }

                    })();

                    var mine=new MyArray();

                    mine.push(1,2,3,4);

                    console.log(mine.length);

技术分享

自学前端开发:模拟Array功能 不是扩展子类

标签:ges   alt   console   myarray   length   splice   nts   开发   前端   

原文地址:http://www.cnblogs.com/xsns/p/6806576.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!