javascript 原型对象

112 阅读1分钟

构造函数

在构造函数里声明方法,外部多次调用,会造成内存浪费 原因:构造函数里声明方法,外部每一次调用都会在堆的创建一个空间,就会造成内存浪费

解决构造函数内存浪费方法一:

	//在外部声明一个函数
    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()