扫码关注官方订阅号
如图:
javascript创建对象实例的以下三种方法,分别在什么情况下使用或者说比较常用的是哪种?
学习是最好的投资!
第一种用的很少。如果用的话第二三种常用。第三种用构造函数写插件用的比较多,因为会在prototype上面拓展方法。
一二种没有区别,都是简单的创建对象。第三种是面相对象的方式,在内部可以数据和行为的封装,比如有first name, last name,可以封装生成full name的逻辑;有gender就可以有封装prefix的逻辑
个人而言,我几乎没有用过第一种,第二种我经常用在JavaScript代码不多的时候。第三种我经常用在写工具集的时候。
对象当然要用(3)了。
(1)和(2)对象没有自己的类型,都是Object,(3)可以用instanceof来判断。有了自己的类型之后,还可以向People.prototype上添加函数,来为其添加扩展方法,(1)和(2)只能为每个对象添加方法,而(3)可以为一类对象添加。
Object
instanceof
People.prototype
(2)的话,如果要用字典会考虑这一种。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
第一种用的很少。如果用的话第二三种常用。
第三种用构造函数写插件用的比较多,因为会在prototype上面拓展方法。
一二种没有区别,都是简单的创建对象。
第三种是面相对象的方式,在内部可以数据和行为的封装,比如有first name, last name,可以封装生成full name的逻辑;有gender就可以有封装prefix的逻辑
个人而言,我几乎没有用过第一种,第二种我经常用在JavaScript代码不多的时候。第三种我经常用在写工具集的时候。
对象当然要用(3)了。
(1)和(2)对象没有自己的类型,都是
Object,(3)可以用instanceof来判断。有了自己的类型之后,还可以向People.prototype上添加函数,来为其添加扩展方法,(1)和(2)只能为每个对象添加方法,而(3)可以为一类对象添加。(2)的话,如果要用字典会考虑这一种。