通过以下代码寻找一下构造函数、实例对象、原型对象
function Star(uname, age) {
this.uname = uname;
this.age = age;
}
Star.prototype.sing = function() {
console.log('我会唱歌');
}
var ld = new Star('老段', 19);
console.log(ld);
ld.sing();
console.log(Star.prototype);
1.什么是构造函数
// Star 就是构造函数
function Star(uname, age) {
this.uname = uname;
this.age = age;
}
2.什么是实例对象
// new Star 是实例对象 只要new了就是实例对象
var ld = new Star('老段', 19);
console.log(ld);
ld.sing();
3、什么是原型对象?
// Star.prototype.sing:是原型对象 因为每个构造函数里边都有一个prototype原型对象
Star.prototype.sing = function() {
console.log('我会唱歌');
}
4.三者之间的关系是
个人总结:
1、先有构造函数,每个构造函数里边都有一个原型对象;构造函数可以通过prototype执行原型对象
2、原型对象prototype里边有一个constructor属性,它通过 constructor属性指回构造函数
3.通过构造函数(只要new一个构造函数)创建实例对象;实例对象有个属性__protto__通过它指向原型对象;实例对象还有个属性指回构造函数__protto__.constructor.