在一个构造函数里面如果要写很多的方法就会很浪费内存
那么就可以写在它的原型链上面,构造函数创建的实例对象都会继承这些方法
那么在原型链上面写方法如果也有很多的话我们就要
构造函数.prototype.方法=function(){语句} 这样写就很麻烦如果后面还有方法2,3,4就很麻烦
我们可以直接改变这个对象就好了
构造函数.prototype={
constructor:构造函数,//constructor是必写的 可以通过原型找到构造函数
方法1(){
},
方法2(){
}
}
上代码
// 构造函数默认返回的是this
// 这样写很麻烦如果有多个方法下面还要继续写,那么可以写在原型上面
function Username(name){
this.name=name;
// this.show=function(){
// console.log(this.name)
// }
}
// 原型 也能执行但是也会遇到一个问题,如果有多个方法就还要写多遍
// Username.prototype.show=function(){
// console.log(this.name)
// }
// // get方法
// Username.prototype.get=function(){
// console.log('get方法')
// }
// 第三种方法直接设置这个原型对象
Username.prototype={
constructor:Username,//这个属性是必写的 不然就不能通过原型找到这个构造函数了
show(){
console.log(this.name)
},
get(){
console.log('get....')
}
}
let obj1=new Username('张三')
let obj2=new Username('李四')
obj1.show()
obj2.show()
obj1.get()
obj2.get()
运行结果