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 相关文章推荐
轻轻松松学习JavaScript
Feb 25 Javascript
javascript 打印内容方法小结
Nov 04 Javascript
jquery.pagination.js 无刷新分页实现步骤分享
May 23 Javascript
使用js复制链接中的部分文字的方法
Jul 30 Javascript
AngularJS删除路由中的#符号的方法
Sep 20 Javascript
jquery.tableSort.js表格排序插件使用方法详解
Aug 12 Javascript
vue模板语法-插值详解
Mar 06 Javascript
解决Extjs下拉框不显示的问题
Jun 21 Javascript
vue实现点击图片放大效果
Aug 15 Javascript
vue+Vue Router多级侧导航切换路由(页面)的实现代码
Dec 20 Javascript
关于vue2强制刷新,解决页面不会重新渲染的问题
Oct 29 Javascript
Vue2.X和Vue3.0数据响应原理变化的区别
Nov 07 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 REMOTE_ADDR之获取访客IP的代码
2008/04/22 PHP
thinkphp分页实现效果
2016/10/13 PHP
php实现留言板功能(代码详解)
2017/03/28 PHP
JS查看对象功能代码
2008/04/25 Javascript
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
微博@符号的用户名提示效果。(想@到谁?)
2010/11/05 Javascript
jQuery自定义事件的简单实现代码
2014/01/27 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
javascript移动开发中touch触摸事件详解
2016/03/18 Javascript
移动端日期插件Mobiscroll.js使用详解
2016/12/19 Javascript
利用Chrome DevTools直接调试Node.js和JavaScript的方法详解(并行)
2017/02/16 Javascript
AngularJS日期格式化常见操作实例分析
2018/05/17 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
2019/08/20 Javascript
jQuery实现滑动开关效果
2020/08/02 jQuery
用python实现的线程池实例代码
2018/01/06 Python
python统计字母、空格、数字等字符个数的实例
2018/06/29 Python
Python File(文件) 方法整理
2019/02/18 Python
Python常见的pandas用法demo示例
2019/03/16 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
TensorFlow实现简单的CNN的方法
2019/07/18 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
2019/07/24 Python
python 采用paramiko 远程执行命令及报错解决
2019/10/21 Python
python pycharm最新版本激活码(永久有效)附python安装教程
2020/09/18 Python
python 爬虫爬取京东ps4售卖情况
2020/12/18 Python
基于Python-turtle库绘制路飞的草帽骷髅旗、美国队长的盾牌、高达的源码
2021/02/18 Python
css3实现背景图片拉伸效果像桌面壁纸一样
2013/08/19 HTML / CSS
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
网络工程师个人的自我评价范文
2013/10/01 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
统计系教授推荐信
2014/02/28 职场文书
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
企业业务员岗位职责
2014/03/14 职场文书
四下基层实施方案
2014/03/28 职场文书
植树节新闻稿
2015/07/17 职场文书
Python使用华为API为图像设置多个锚点标签
2022/04/12 Python