前言
在开始之前,先给大家介绍下js中使用使用原型(prototype)定义方法的好处
经常在前端面试或是和其他同行沟通是,在谈到构造在JS定义构造函数的方法是最好使用原型的方式:将方法定义到构造方法的prototype上,这样的好处是,通过该构造函数生成的实例所拥有的方法都是指向一个函数的索引,这样可以节省内存。
而本文主要给大家介绍了关于Js利用prototype自定义数组方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
题目
如何实现下列代码:
[1,2,3,4,5].duplicator(); // [1,2,3,4,5,1,2,3,4,5]
解决方法
使用array的prototype属性,自定义duplicator()
方法,js代码如下:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style></style> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js" type="text/javascript"></script> </head> <body> <script> Array.prototype.duplicator = function() { let s = this.concat(this) return s } let t = [1,2,3,4,5].duplicator() console.log(t) </script> </body> </html>
在控制台显示效果如下:
注意点
在书写这段代码时Array.prototype.duplicator
注意不要添加任何括号,function 内部的this 指代调用这个方法的对象,即array.
总结
以上就是这篇文章的全部内容了,本文还有许多不足,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对黑区网络的支持。