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 学习笔记(六)
Dec 31 Javascript
jQuery AjaxQueue改进步骤
Oct 06 Javascript
表单元素的submit()方法和onsubmit事件应用概述
Feb 01 Javascript
JS仿百度搜索自动提示框匹配查询功能
Nov 21 Javascript
jQuery页面加载初始化常用的三种方法
Jun 04 Javascript
jQuery解决input超多的表单提交
Aug 10 Javascript
JavaScript入门系列之知识点总结
Mar 24 Javascript
微信小程序 radio单选框组件详解及实例代码
Jan 10 Javascript
AngularJS中的作用域实例分析
May 16 Javascript
详解微信小程序调起键盘性能优化
Jul 24 Javascript
Vue.use()在new Vue() 之前使用的原因浅析
Aug 26 Javascript
JavaScript的一些小技巧分享
Jan 06 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判断图片格式的七种方法小结
2013/06/03 PHP
探讨:如何使用PHP实现计算两个日期间隔的年、月、周、日数
2013/06/13 PHP
CI框架给视图添加动态数据
2014/12/01 PHP
laravel 5 实现模板主题功能
2015/03/02 PHP
如何在PHP环境中使用ProtoBuf数据格式
2020/06/19 PHP
javascript自执行函数之伪命名空间封装法
2010/12/25 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
jQuery实现的产品自动360度旋转展示特效源码分享
2015/08/21 Javascript
在JavaScript中如何解决用execCommand(
2015/10/19 Javascript
Angular2学习笔记——详解NgModule模块
2016/12/02 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
vue mint-ui学习笔记之picker的使用
2017/10/11 Javascript
bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能
2017/12/28 Javascript
JavaScript类的继承操作实例总结
2018/12/20 Javascript
js抽奖转盘实现方法分析
2020/05/16 Javascript
jQuery实现动态操作table行
2020/11/23 jQuery
[02:16]2018年度CS GO最具人气选手-完美盛典
2018/12/16 DOTA
[01:06:26]全国守擂赛第二周 Team Coach vs DeMonsTer
2020/04/28 DOTA
Python subprocess模块学习总结
2014/03/13 Python
Python中的yield浅析
2014/06/16 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
python实现批量修改服务器密码的方法
2019/08/13 Python
python 叠加等边三角形的绘制的实现
2019/08/14 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
美国花园雕像和家居装饰网上商店:Design Toscano
2019/03/09 全球购物
瑞士隐形眼镜和护理产品网上商店:Linsenklick
2019/10/21 全球购物
Python面试题集
2012/03/08 面试题
企业厂长岗位职责
2013/12/17 职场文书
公司人事专员岗位职责
2014/08/11 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
2016大学优秀学生干部事迹材料
2016/03/01 职场文书
汽车销售合同文本
2019/08/08 职场文书
在 Golang 中实现 Cache::remember 方法详解
2021/03/30 Python
使用pandas生成/读取csv文件的方法实例
2021/07/09 Python