前言
经常在前端面试或是和其他同行沟通是,在谈到构造在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.
以上就是js如何使用prototype实现自定义数组的案例的详细内容。