构造函数
在构造函数里声明方法,外部多次调用,会造成内存浪费 原因:构造函数里声明方法,外部每一次调用都会在堆的创建一个空间,就会造成内存浪费
解决构造函数内存浪费方法一:
//在外部声明一个函数
function add(){
console.log(`我是${this.name},年龄${this.age}`)
}
function Person(name,age){
this.name=name
this.age=age
this.say=add
}
let p1=new Person('jack',15)
console.log(p1.say())
原型对象
原型对象是为了解决构造函数的内存浪费 原型对象的好处 :1 解决构造函数的内存浪费 2 解决变量名污染
function Person(name,age){
this.name=name
this.age=age
}
Person.prototype.say=function(){
console.log(`我是${this.name},年龄${this.age}`)
}
let p1=new Person('jack',15)
p1.say()