老师用原型添加属性和方法,和普通函数添加有什么区别,或者优缺点呢?
来源: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回答
同学你好,大致是相同的作用,不过有一点:将方法添加在原型上的好处是所有对象都共享这个方法,节约内存。因为添加在构造函数上的属性和方法,每一次实例化构造函数的时候,都会重新创建一遍,每一个实例都会包含这个方法或者属性,占用内存。原型上的内容不会重新创建,是共享的。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
相似问题