SOURCE

/**
 * 通过原型对象扩展内置对象方法
 * 
 *      通过原型对象,对原来的内置对象进行扩展自定义方法 例如:给数组对象添加一个求和的功能
 * 
 * 注意: 数组和字符串内置对象不能给原型对象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
console 命令行工具 X clear

                    
>
console