JavaScrip面向对象-构造器和对象原型

打印 上一主题 下一主题

主题 808|帖子 808|积分 2424

创建对象的方案-工厂模式



熟悉构造函数


new操作符调用的作用

通过new调用函数,是构造函数。通过new调可以不加括号


创建对象的方案-构造函数

构造函数的缺点,每次new一个构造器,构造器的函数都会重新创建一个函数对象。浪费空间 


熟悉对象原型


.可以通过--proto--查看prototype,也可以通过getPrototypeOf(es5后提供)


打印obj对象属性age,obj对象中没找到age属性,就会去原型中找,原型中没有就真没有。相要原型中也有,就需要通过obj.--proto--.age="sd",添加一个age属性大概通过Person.prototype.name="sd",因为,Person.prototype和p1.--proto--指向的都是同一个
 

.对象的隐式原型会通过--proto--指向函数的体现原型
打印出来的原型对象之所以是空的,是因为他的枚举类型是false


再看new操作符



通过getOwnPropertyDescriptors可以看到prototype中有个属性constructor,所以prototype.contructor,指向的是构造器本身 




添加太多的属性时,可以直接将prototype指向新的对象,对象中放添加的属性,原来的prototype指向的会被烧毁,由于原型中有constructor原型,所以需要通过defineProperty添加该属性,把可枚举类型为false





免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

用户国营

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表