JavaScript高级基础
#创建对象的三种方式
1.字面量方式
2.系统构造函数
3.自定义构造函数
#字面量方式的写法:
#系统构造函数
#自定义构造函数
#构造函数创建对象做了四件事
1.开辟内存空间
2.给属性设置值
3.把对象指向this
4.返回this这个对象并把地址给了对象
#工厂模式创建对象
#工厂模式和自定义构造函数的区别
相同点:都可以创建对象 都有参数 都有函数。
自定义构造函数的特点:
1.函数名首字母大写
2.没有new
3.没有返回值
4.this指向当前对象
5.需要new才能创建对象
工厂模式的特点是:
1.函数名按照小驼峰命名法
2.有new
3.有返回值
4.返回的就是当前对象
5.不需要new 直接调用方法 就能创建对象
#构造函数和实例对象之间的关系
实例对象是通过构造函数创建的 创建的过程称为实例化
实例对象的原型的构造函数指向自己的构造函数
#如何判断某对象是不是那个数据类型
1.对象__proto__.constructor==构造函数
2.对象 instanceof 构造函数
#通过原型来解决数据共享的问题
#什么叫原型?
实例对象中有一个属性:__proto__叫原型 也是一个对象 这个属性是给浏览器用的
构造函数中有一个属性:prototype 叫原型 也是一个对象 这个属性是给开发者用的
原型也叫原型对象
实例对象的__proto__和构造函数中的prototype相等
又因为实例对象是通过构造函数创建的 构造函数中有原型对象 prototype
实例对象的__proto__指向了构造函数的原型对象prototype
#构造函数和实例对象和原型对象之间的关系
希望大家有什么建议提一提。两天更新一次