• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

javascript创建对象之原型模式(三)_js

javascript 搞代码 7年前 (2018-06-13) 229次浏览 已收录 0个评论

先上代码:

 function Human() { }         Human.prototype.name = "成吉思汗";         Human.prototype.sex = "男";         Human.prototype.say = function () {             alert(this.name);         }         var man = new Human();         man.say(); //成吉思汗         var woman = new Human();         woman.say(); //成吉思汗         alert(man.say == woman.say);//true

prototype是JavaScript中非常核心的知识点之一.他是javascript中的面向对象思想中起着至关重要的作用.

我们来看看prototype是何方妖孽,拥有如此大的威力.

js中每一个函数都有一个prototype属性,我们称之为原型.(这个解释有点烂,等于没说,没办法,不知道怎么给他下定义了^_^);

使用原型对象的好处之一就是让所有的实例共享同样的位于原型上的属性和方法.

上面例子中,name,sex,say都位于prototype上,所以man和woman共享这些属性和方法.内存中虽然有了2个实例,但是他们却只有一份name和sex和say.

http://www.gaodaima.com/30372.html

这在复杂的项目中可谓是极大的节省了内存.

也因为如此,原型模式才更优胜于上章节介绍的构造函数模式.

这种简单的原型模式一眼就能看出有很多不切合实际的东东:

1.既然所有的属性和方法都共享了,那么我实例化一个对象不就够了吗?

2.每一个对象都是一个个体(有自己特有的属性或方法),而又有相似性(共同的属性和方法),

接下来就有了构造函数模式和原型模式共同作用的结果.这种组合模式在下一章继续.

欢迎大家阅读javascript创建对象之原型模式(三)_js,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:javascript创建对象之原型模式(三)_js

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址