老师用原型添加属性和方法,和普通函数添加有什么区别,或者优缺点呢?

来源:6-4 编程练习

慕九州8126026

2020-05-19 14:36:26

// var Animal = function(){};
// Animal.prototype.name='波斯猫';
// Animal.prototype.num=3;

// var Cat = function(){};
// Cat.prototype = new Animal();
// Cat.prototype.info = function(){
// 	alert('名字:'+c1.name + ' 数量:' + c1.num);
// }

// var c1 = new Cat();
// c1.info();


function Animal(name,num){
	this.name = name;
	this.num = num;
}
var Cat = function(){};
Cat.prototype = new Animal('波斯猫',2);

Cat.prototype.info = function(){
	alert('名字:'+c2.name + ' 数量:' + c2.num)
}
var c2 = new Cat();
c2.info();


写回答

1回答

好帮手慕码

2020-05-19

同学你好,大致是相同的作用,不过有一点:将方法添加在原型上的好处是所有对象都共享这个方法,节约内存。因为添加在构造函数上的属性和方法,每一次实例化构造函数的时候,都会重新创建一遍,每一个实例都会包含这个方法或者属性,占用内存。原型上的内容不会重新创建,是共享的。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 14456 问题

查看课程