创建对象的三种方法(个人学习笔记)
对象数据类型把描述同一个事物(同一个对象)的属性和方法放在一个内存空间中,起到了分组的作用,这样不同事物之间的属性即使属性名相同,相互也不会发生冲突。
创建对象的三种方法:
【创建对象的三种方法(个人学习笔记)】(1)对象字面量(单例模式):
varobj = { }//我们把这种分组的编写代码的模型称为“单例模式”(2)调用系统的构造函数:
//在单例模式中把obj也叫做命名空间,单例模式一般用来模块化开发 ,管理变量,防止全局污染
varobj = new Object();(3)自定义构造函数:
obj.属性名 = obj.值
注意点:
1、自定义构造函数创建了一个自定义的类,并且创建了一个类的实例,同时这个类也是一个函数数据类型,它通过new来变成一个类,但它本身就是一个函数;所有的实例都是对象数据类型。
2、在类中增加的属性属于当前实例对象的私有属性,实例与实例之间是单独的个体,所以私有属性之间是不相等的。
3、类有普通函数的一面,当函数执行时,用var、function声明或定义的变量其实只是当前私有作用域的私有变量而已,它们与类创建的实例没有任何关系;只有this.value = https://www.it610.com/article/key、this.function = function() { ....... }才相当与给实例增加属性和方法,才和实例有关系。
4、如果在构造函数中return基本类型的值,那么返回值还是this(实例);如果return引用类型,那么引用值会替换this(实例)。
functionPerson(name){工厂模式创建对象:
this.name = name; //this指向实例对象,上个笔记点出了原因
this.say = function () { console.log(this.name) }
}
varobj = new Person("大哈")
工厂模式就是把实现同一事件的相同代码放到一个函数中,以后如果想要实现这个功能,不需要重新编写这些代码,只需要调用这个函数就行----->“函数的封装”。以下是工厂模式和自定义构造函数创建对象:
文章图片
工厂模式和自定义构造函数创建对象 以下是工厂模式和构造函数的区别:
文章图片
工厂模式和构造函数的区别
推荐阅读
- 【晨写04】那只路边的蚂蚁,准吓坏了
- 该有的会有的
- 2021-01-22转一篇读《论语》的文章
- (短篇)余下的日子我该怎么过(06)
- 想谈谈那些分手了还能不能做朋友的事
- 每个人的过往,都有一个不相伴却爱着的人
- 4_为什么喜欢2017年的勇士
- 我是春蕾十幼黄晓丹,正在学习侯爸的《正面管教》让我和我的家庭更幸福
- 温柔的对待生活
- Swift|Swift | 输入一个正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果