构造函数this指向:
1 构造函数this指的是对象实例
2 原型对象函数里面也this也是指向实例对象
// 构造函数
function Student(name,age) {
this.name = name;
this.age = age;
}
Student.prototype = {
constructor: Student, // 千万别忘记
study: function() {
console.log(this);
console.log('good good study');
},
run: function() {
console.log('running');
}
}
var zs = new Student('zs',18); // 实例对象
var lisi = new Student('lisi',22);
// 构造函数this指的是对象实例 Student{...}
zs.study(); // 原型对象函数里面也this也是指向实例对象
示例:扩展数组方法 Array
Array.prototype.getSum = function() {
var sum = 0;
// 原型对象函数里面也this也是指向实例对象
for (var i = 0; i < this.length; i++) {
sum += this[i];
}
return sum;
}
var arr1 = [1, 2, 3]; //
var arr2 = [2, 4, 6, 8];
console.log(arr1.getSum());
console.log(arr2.getSum());