js中,如何给Array、String新增自定义方法?

js中,诸如Array的push()、String的substring()方法都是在各自的prototype上定义的。基于这点,我们可以在Array、String对应的原型上自定义一个方法,来满足特定需求;
比如:
1、如何实现下列代码:

[1,2,3,4,5].duplicator(); // [1,2,3,4,5,1,2,3,4,5]复制代码
   >>实现代码如下:

Array.prototype.duplicator = function(){    
    //function 内部的this 指代调用这个方法的对象,即array.    
    var s = this.concat(this);    
    return s;
}
var arr1 = [1,2,3,4,5].duplicator();
console.log('arr1', arr1);   // [1,2,3,4,5,1,2,3,4,5]复制代码

2、如何实现下列代码

'hello'.spacePara(); // 'h e l l o'复制代码
    >>实现代码如下:

String.prototype.spacePara = function(){    
    var str = this;    
    return str.split('').join(' ');
}
var str = 'hello'.spacePara();
console.log('str: ', str)复制代码


你可能感兴趣的:(js中,如何给Array、String新增自定义方法?)