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 TO HTML 转换
Jun 26 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
Sep 05 Javascript
Javascript base64编码实现代码
Dec 02 Javascript
javascript获取下拉列表框当中的文本值示例代码
Jul 31 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 Javascript
jQuery实现导航栏头部菜单项点击后变换颜色的方法
Jul 19 jQuery
Angular2使用vscode断点调试ts文件的方法
Dec 13 Javascript
JS装饰器函数用法总结
Apr 21 Javascript
layui输入框中只允许输入整数的实现方法
Sep 18 Javascript
angula中使用iframe点击后不执行变更检测的问题
May 10 Javascript
vue实现购物车加减
May 30 Javascript
vue+django实现下载文件的示例
Mar 24 Vue.js
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新手上路(十)
2006/10/09 PHP
php 过滤器实现代码
2010/08/09 PHP
探讨各种PHP字符串函数的总结分析
2013/06/05 PHP
使用php记录用户通过搜索引擎进网站的关键词
2014/02/13 PHP
php结合安卓客户端实现查询交互实例
2015/05/05 PHP
PHP简单字符串过滤方法示例
2016/09/04 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
2020/11/23 PHP
javaScript Array(数组)相关方法简述
2009/07/25 Javascript
Javascript 获取滚动条位置等信息的函数
2009/09/08 Javascript
起点页面传值js,有空研究学习下
2010/01/25 Javascript
jquery 插件开发备注
2010/08/27 Javascript
jQuery的ready方法详解
2014/11/27 Javascript
jQuery实现Twitter的自动文字补齐特效
2014/11/28 Javascript
Node.js和MongoDB实现简单日志分析系统
2015/04/25 Javascript
深入浅析Bootstrap列表组组件
2016/05/03 Javascript
jquery判断input值不为空的方法
2016/06/05 Javascript
详解vue中的父子传值双向绑定及数据更新问题
2019/06/13 Javascript
微信小程序之侧边栏滑动实现过程解析(附完整源码)
2019/08/23 Javascript
Node.js安装详细步骤教程(Windows版)详解
2019/09/01 Javascript
angular8和ngrx8结合使用的步骤介绍
2019/12/01 Javascript
关于引入vue.js 文件的知识点总结
2020/01/28 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
python二进制文件的转译详解
2019/07/03 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
千禧酒店及度假村官方网站:Millennium Hotels and Resorts
2019/05/10 全球购物
我的长生果教学反思
2014/04/28 职场文书
大学生村官考核材料
2014/05/23 职场文书
经营理念标语
2014/06/21 职场文书
商务考察邀请函模板
2015/02/02 职场文书
医院见习总结
2015/06/24 职场文书
2016年优秀共青团员事迹材料
2016/02/25 职场文书
iPhone13 Pro外观确定,升级4800万镜头,4月20日发新品
2021/04/15 数码科技
CSS使用SVG实现动态分布的圆环发散路径动画
2022/12/24 HTML / CSS