Js利用prototype自定义数组方法示例


Posted in Javascript onOctober 20, 2017

前言

在开始之前,先给大家介绍下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>

在控制台显示效果如下:

Js利用prototype自定义数组方法示例

注意点

在书写这段代码时Array.prototype.duplicator注意不要添加任何括号,function 内部的this 指代调用这个方法的对象,即array.

总结

以上就是这篇文章的全部内容了,本文还有许多不足,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JQUERY操作JSON实例代码
Feb 09 Javascript
JS中 用户登录系统的解决办法
Apr 15 Javascript
JavaScript使用循环和分割来替换和删除元素实例
Oct 13 Javascript
Javascript中的默认参数详解
Oct 22 Javascript
js+CSS实现弹出居中背景半透明div层的方法
Feb 26 Javascript
JS实现的数组全排列输出算法
Mar 19 Javascript
Javascript HTML5 Canvas实现的一个画板
Apr 12 Javascript
详解webpack与SPA实践之开发环境搭建
Dec 18 Javascript
Layer弹出层动态获取数据的方法
Aug 20 Javascript
详解如何快速配置webpack多入口脚手架
Dec 28 Javascript
Node.js+ELK日志规范的实现
May 23 Javascript
JavaScript对象原型链原理解析
Jan 22 Javascript
js 中rewrap-ajax.js插件实例代码
Oct 20 #Javascript
jQuery访问浏览器本地存储cookie、localStorage和sessionStorage的基本用法
Oct 20 #jQuery
JS 中使用Promise 实现红绿灯实例代码(demo)
Oct 20 #Javascript
用JavaScript做简易的购物车的代码示例
Oct 20 #Javascript
浅谈JS 数字和字符串之间相互转化的纠纷
Oct 20 #Javascript
phantomjs导出html到pdf的方法总结
Oct 19 #Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
Oct 19 #Javascript
You might like
PHP VS ASP
2006/10/09 PHP
php,ajax实现分页
2008/03/27 PHP
关于php fread()使用技巧
2010/01/22 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
WordPress中用于更新伪静态规则的PHP代码实例讲解
2015/12/18 PHP
CL vs ForZe BO5 第二场 2.13
2021/03/10 DOTA
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
DOM事件阶段以及事件捕获与事件冒泡先后执行顺序(图文详解)
2015/08/18 Javascript
详解nodejs 文本操作模块-fs模块(五)
2016/12/23 NodeJs
vscode中vue-cli项目es-lint的配置方法
2018/07/30 Javascript
React性能优化系列之减少props改变的实现方法
2019/01/17 Javascript
vue input标签通用指令校验的实现
2019/11/05 Javascript
webpack+vue-cil 中proxyTable配置接口地址代理操作
2020/07/18 Javascript
js实现查询商品案例
2020/07/22 Javascript
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
Python实现堆排序的方法详解
2016/05/03 Python
Python装饰器用法实例总结
2018/05/26 Python
Python发送邮件的实例代码讲解
2019/10/16 Python
pycharm通过ssh连接远程服务器教程
2020/02/12 Python
记录模型训练时loss值的变化情况
2020/06/16 Python
浅谈keras 的抽象后端(from keras import backend as K)
2020/06/16 Python
Python绘制组合图的示例
2020/09/18 Python
详解canvas drawImage()方法绘制图片不显示的问题
2018/10/08 HTML / CSS
简单介绍HTML5中的文件导入
2015/05/08 HTML / CSS
Html5 webRTC简单实现视频调用的示例代码
2020/09/23 HTML / CSS
草莓网化妆品加拿大网站:Strawberrynet Canada
2016/09/20 全球购物
Luxplus瑞典:香水和美容护理折扣
2018/01/28 全球购物
酒店工作职员求职简历的自我评价
2013/10/23 职场文书
中式结婚主持词
2014/03/14 职场文书
《搭石》教学反思
2014/04/07 职场文书
四风问题个人对照检查材料
2014/09/26 职场文书
如何写辞职书
2015/02/26 职场文书
2016十一国庆节感言
2015/12/09 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书
gateway与spring-boot-starter-web冲突问题的解决
2021/07/16 Java/Android
浅谈Redis缓冲区机制
2022/06/05 Redis