什么是javascript原型啊 我不懂javascript原型 谁能打个比喻给我最好是通俗易懂的我是初学者看不懂书上那

打个比方打个比方下面2个说我都听不太懂打个比方原型是什么通俗易懂的比方啊... 打个比方
打个比方 下面2个说我都听不太懂 打个比方 原型是什么 通俗易懂的比方啊
展开
 我来答
百度网友b0026fc
2010-12-21 · TA获得超过8431个赞
知道大有可为答主
回答量:8845
采纳率:60%
帮助的人:1.7亿
展开全部
我们来看一下javascript中的原型:
javascript原型是一个对象。
javascript中所有的构造函数都有一个属性,叫prototype,这个属性存放的就是原型对象;访问这个属性通过:函数名.prototype ,从而可以访问到这个原型对象,也可以为这个原型赋值。在原型对象中有一个属性叫constructor,这个constructor指向函数本身。我偿可以访问到原型中的这个属性:函数名.prototype.constructor;我们可以为原型对象添加属性并赋值:函数名.prototype.属性名=值;为函数原型添加的属性,都会成为构造函数的属性,从而成为对象的属性。既然对象具有了原型内的属性,说明对象中的这些属性是从原型中继承来的。所以javascript是基于原型的继承的。
当读取对象的属性时,会先查找对象的常规属性,如果常规属性中没有,则去查找原型中的属性。当给对象的属性赋值时,javascript不会使用原型对象。即:如果对象的常规属性中有此属性,则直接赋值vkjsfq此属性而在原型对象中存在此属性,那么,对象会在自己的常规属性中添加一个与这个原型对象中同名的属性。而不去修改原型对象属性的值。注意:这时再读取这个属性时,读取的是常规属性中的值,原型对象中的这个属性值已经读取不到了,已经被对象中的常规属性给覆盖了。
匿名用户
2010-12-07
展开全部
javascript原型是一个对象。
javascript中所有的构造函数都有一个属性,叫prototype,这个属性存放的就是原型对象;访问这个属性通过:函数名.prototype ,从而可以访问到这个原型对象,也可以为这个原型赋值。在原型对象中有一个属性叫constructor,这个constructor指向函数本身。我偿可以访问到原型中的这个属性:函数名.prototype.constructor;我们可以为原型对象添加属性并赋值:函数名.prototype.属性名=值;为函数原型添加的属性,都会成为构造函数的属性,从而成为对象的属性。既然对象具有了原型内的属性,说明对象中的这些属性是从原型中继承来的。所以javascript是基于原型的继承的。
当读取对象的属性时,会先查找对象的常规属性,如果常规属性中没有,则去查找原型中的属性。当给对象的属性赋值时,javascript不会使用原型对象。即:如果对象的常规属性中有此属性,则直接赋值vkjsfq此属性而在原型对象中存在此属性,那么,对象会在自己的常规属性中添加一个与这个原型对象中同名的属性。而不去修改原型对象属性的值。注意:这时再读取这个属性时,读取的是常规属性中的值,原型对象中的这个属性值已经读取不到了,已经被对象中的常规属性给覆盖了。
下面举一个例子:
function Rectangle(w,h){//定义一个矩形的函数
this.width = w;
this.height = h;
}
Rectangle.prototype.area = function(){ return this.width * this.height; }//area定义为原型对象中的一个属性,是为了计算矩形的面积

参考资料: http://han2000lei.javaeye.com/blog/324686

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zzzbai
2010-12-08 · 超过23用户采纳过TA的回答
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:91.7万
展开全部
玩具厂要生产一种大熊猫玩具,那麼他就找一个真的大熊猫来做参照.
在电脑裏面先建一个「玩具」类,裏面一片空白,什麽属性都没有,再建一个「大熊猫」类,将大熊猫的所有属性方法都写进去.
然后,「玩具」.prototype=new 「大熊猫」();
这样,玩具类就自然具有了大熊猫的所有特性.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hanyanzhou945
2010-12-07 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:0%
帮助的人:15.2万
展开全部
每个javascript对象都有一个原型对象,这个原型是由该对象的构造函数所定义(javascript自动创建的),并且对象继承原型的所有属性和方法(函数)
用这个prototype来模拟实现一个类的子类,达到对父类进行扩展的目的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式