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)复制代码