/**
* 通过原型对象扩展内置对象方法
*
* 通过原型对象,对原来的内置对象进行扩展自定义方法 例如:给数组对象添加一个求和的功能
*
* 注意: 数组和字符串内置对象不能给原型对象prototype 进行 覆盖操作
* 例如: Array.prototype = {};
* 只能进行:Array.prototype.fun = function() {};
*/
console.log(Array.prototype)
Array.prototype.sum = function() {
var sum = 0;
for(var i = 0; i<this.length; i++) {
sum += this[i];
}
return sum
}
/**
* 不能采用 下面这种方式去给原型对象添加方法,会直接覆盖掉的
* 用对象的形式给添加方法,会把原先的对象给覆盖掉
* Array.prototype = function() {
* sum: function() {
* var sum = 0;
for(var i = 0; i<this.length; i++) {
sum += this[i];
}
return sum
* }
* }
*/
var arr1 = [1,2,3];
console.log(arr1.sum()) // 6
console.log(Array.prototype) // 多了一个sum
var arr2 = new Array(11,22,33);
console.log(arr2.sum()); // 66