标题构造函数,实例对象与原型三者之间的关系
实例对象的__proto__方法就等于构造函数的原型
实例对象的constructor方法又指向构造函数本身
这里__proto__和constructor方法都是构造函数原型上的方法,实例对象可以访问构造函数原型上的所有方法
function Fun(name, age, sex) { // 先创建一个构造函数
this.usname = name;
this.age = age;
this.sex = sex;
}
var fun = new Fun('小毛驴', 18, '女'); // 再用这个构造函数new一个对象
Fun.prototype.say = function () { // 给构造函数的原型上添加一个say方法,然后由这个构造函数new出来的所有对象都可以访问这个方法
console.log('haha');
}
console.log(fun);
fun.say()
// 构造函数,实例对象和原型之间的关系
// 实例对象的__proto__方法就等于构造函数的原型
console.log(fun.__proto__ === Fun.prototype); // --> 返回值是true
// 实例对象的constructor方法又指向构造函数本身,这里__proto__和constructor方法都是构造函数原型上的方法,实例对象可以访问构造函数原型上的所有方法
console.log(fun.constructor === Fun); // --> 返回值是true,记住这个Fun没有括号