//构造函数创建对象 构造函数默认有一个原型prototype对象(用于共享实例对象共有方法),实例对象也有一个原型对象__proto__指向了构造函数的原型对象prototype
function Star(name) {
= name;
//若将共有方法定义在构造函数里则new实例对象时都会创建一个单独的空间存放方法导致内存空间浪费(ldh.sing===zxy.sing为false)所以有了构造函数原型prototype对象
// this.sing = function() {
// console.log('star can sing')
// }
}
Star.prototype.sing = function() {
console.log('star proto sing')
}
var ldh = new Star('刘德华')
var zxy = new Star('张学友')
console.log(ldh.sing === zxy.sing)//true 构造函数默认有一个原型prototype对象(用于共享实例对象共有方法)
console.log(ldh.__proto__ === Star.prototype)//true 实例对象也有一个原型对象__proto__指向了构造函数的原型对象prototype

  

js 构造函数创建对象 原型 原型链_构造函数

 

 js 构造函数创建对象 原型 原型链_创建对象_02