原型对象与实例

本文介绍了JavaScript中两种主要的封装方式:构造函数和原型方法,并对比了它们的特点与应用场景。构造函数适用于为每个对象实例分配独立的属性和方法,而原型方法则用于共享函数,提高内存效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

JS中实现封装主要由2种封装(公开,私有)

//通过构造函数给所有对象分配属性;

functionDog(name){

this.name=name;

this.shot=function(){

window.alert(“小狗尖叫”+this.name);

}

}

//通过原型法来给所有的对象方法

Dog.prototype.shout=function(){

Window.alert(“小狗尖叫”+this.name);

}

vardog1=new Dog(“aa”);

var dog2=newDog(“bb”);


if(dog1==dog2){

alert(“dog1==dog2”);

}else{

alert(“dog1!=dog2”);

}

结果并不相等

 


结论:

//通过构造函数来给每个对象实例分配属性(成员方法),给每个对象都分配一份独立的代码,代价高

//通过原型方法则每个成员的代码都一样

//通过原型方法可以给每个成员分配属性:Dog.prototype.color=”red”

①通过原型法分配的函数是所用对象共享的;

②通过原型法分配的属性是独立的

③建议:如果我们希望所有的对象使用一个函数,建议使用原型法,节省内存

 

function Person(){

}

//创建对象

//p1.say;(如果此时先绑定再声明say函数,则会报错,因为是后置绑定)

var p1=new Person();

Person.prototype.say=function(){

Window.alert(“OK”);

}

p1.say();

 

类名.prototype.函数名称为后置绑定

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值