1.原型对象的this指向问题
function Star(uname, age) {
this.uname = uname;
this.age = age;
}
Star.prototype.sing = function () {
console.log("我会唱歌");
}
var ldh = new Star('刘德华', 19);
var zxh = new Star('张学友', 20);
// 1.在构造函数中,里面this指向的是对象实例 ldh
// 2.原型对象里面的this指向对象实例本身(Star.prototype里面的this)
2.扩展内置对象
// 原型对象的应用 扩展内置对象方法
console.log(Array.prototype);
Array.prototype.sum = function(){
// this指向调用者
var sum = 0;
for(var i = 0;i < this.length;i++){
sum += this[i];
}
return sum;
}
var arr = [1,2,3]; //arr是通过大写的Array创造出来的实例对象
// 类似于 var arr = new Array();
console.log(arr.sum())
console.log(Array.prototype)
// 只能通过点的形式追加,不可以通过对象的方式,如下不可以:
// Array.prototype = {
// sum:function(){
// // ……
// }
// }