原生js的Function,Array,Object构造函数的prototype原型方法扩展



  在js中,Function构造函数的实例化对象为FunctionArrayObject构造函数。

<script>

Function.prototype.addMethod = function (name,fn) {
    this.prototype[name]=fn;
}

Array.addMethod(‘test‘,function(){
  console.log(‘Array method add‘);
});
Object.addMethod(‘test‘,function(){
  console.log(‘Object method add‘);
});
Function.addMethod(‘test‘,function(){
  console.log(‘Function method add‘);
});

var a=[],
    b={},
    c=function(){};
a.test();
b.test();
c.test();

</script>


原生js的Function,Array,Object构造函数的prototype原型方法扩展

时间: 2024-10-05 12:20:45

原生js的Function,Array,Object构造函数的prototype原型方法扩展的相关文章

【js实例】Array类型的9个数组方法,Date类型的41个日期方法,Function类型

前文提要:[js实例]js中的5种基本数据类型和9种操作符 Array类型的9个数组方法 Array中有9个数组方法: 1.检测数组 2.转换方法 3.栈方法 4.队列方法 5.冲排序方法6.操作方法 7.位置方法 8.迭代方法 9.归并方法 在实例中介绍,实例如下 /* Array类型 js数组中的每一项可以用来保存任何类型的数据:js数组的大小是可以动态调整的 */ var colors = ["red", "blue", "green"];

原生JS:Function对象(apply、call、bind)详解

Function对象(apply.call.bind) 本文参考MDN做的详细整理,方便大家参考[MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript) Function 构造器会创建一个新的 Function 对象. 在 JavaScript 中每个函数都是一个Function对象. 构造器 new Function ([arg1[, arg2[, ...argN]],] functionBody) arg1, arg2, .

JS面向对象(1)——构造函数模式和原型模式

1.构造函数模式 构造函数用来创建特定的类型的对象.如下所示: function Person(name,age,job){ this.name=name; this.job=job; this.age=age; this.sayName=function(){ alert(this.name); }; } var person1=new Person('nick',20,'student');var person2=new Person('nick',20,'student');alert(p

原生js实现移动端Touch轮播图的方法步骤

Touch 轮播图 touch轮播图其实就是通过手指的滑动,来左右切换轮播图,下面我们通过一个案例,来实现下. 1. html 结构 结构上,还是用ul.li来存放轮播图片,ol.li来存放轮播小圆点: 2. 样式初始化 html的一些标签,都会有一些默认样式,比如body标签默认是有一个边距的,为了不影响美观,我们需要清除掉. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 /* 清除标签默认边距 */ body,ul,li,ol,im

js中String常用方法详解及String对象方法扩展

一.JavaScript 中 slice .substr 和 substring的区别: 1: String.slice(start,end): 一个新的字符串.包括字符串 stringObject 从 start 开始(包括 start)到 end 结束(不包括 end)为止的所有字符. 2: String.substring(start,end) 这个就有点特别了,它是先从start,end里找出一个较小的值. 然后从字符串的开始位置算起,截取较小值位置和较大值位置之间的 字符串,截取出来的

warning: function declaration isn’t a prototype解决方法

在编译u-boot时,出现了这样的警告warning: function declaration isn't a prototype [-Wstrict-prototypes] 原因是在添加了自己的函数之后出现的如char tst_key(). 经过网上搜索,解决这个警告需要给函数加个void声明没有参数传入,如果本身有参数那么就没什么问题了. 改成char tst_key(void)这种形式就OK了.

给Array本地对象增加一个原型方法,它用于删除数组条目中重复的条目(可能有多个),返回值是一个包含被删除的重复条目的新数组

Array.prototype.removeCount=function(){ var that=this; var arr=[]; for(var i=0;i<that.length;i++){ for(var j=i+1;j<that.length;j++){ var count=0; if(that[i]==that[j]){ if(count==0){ arr.push(that.slice(j,j+1)[0]); } count++; } } } return arr; } cons

放弃jQuery,使用原生js吧!

转自:http://itakeo.com/blog/2015/07/28/nojq/ 随着IE6.7.8的逐渐淘汰,HTML5的兴起,以及侧重点放在了移动端,jQuery可能变的不在那么重要,原生一样很好用.下面介绍几个原生替换jq的方法. 获取元素 JQuery $('.xxx'); //class获取 $('#xxx'); //id获取 $('.xxx.ccc'); //同时包含xxx和ccc $('.xxx,.zzz'); //多选 $('.xxx div'); //子类 $('.xxx

关于Function和Object之间先后问题的相关研究

文章说明,博主是一个前端小白,本片文章是博主在学习的过程中碰到的疑惑,根据查找的资料,之后得出的个人结论,文中如果出现错误,欢迎指正. -------路漫漫其修远兮吾将上下而求索,与诸君共勉-------- js中Function和Object的问题 ? 首先了解,原型的概念,所谓的原型,其实就是一个对象的本质,既然是对象的本质,那么说明原型的本身就是一个对象, (注:这里是作者本人的个人理解,原型就像是一个模具,通过想象,当一个实例对象被创建的时候,首先是由构造函数产生一个最初的对象模子,然后