黑马程序员技术交流社区

标题: 构造元素 [打印本页]

作者: Allowclearance    时间: 2019-6-21 13:57
标题: 构造元素
构造元素和模型
在典型的opp的语言中,都会有类的概念,类就是对象的模型
静态成员:在构造函数本身上添加的成员,只能通过构造函数访问
实例成员:构造函数通过this的添加,只能通过实例化的对象访问
原型对象
每个构造函数都有一个与之相对应的对象,这个对象就是原型对象
获取原型对象
prototype()
构造函数有一个属性,prototype指向了原型对象
原型对象 = 构造函数prototype
作用
当我们调用实例对象的属性和方法是,现在自身找这个属性和方法,找不到就在构造函数
对应的原型对象中找,有就用,没有就undefined
所有的对象实例可以共享prototype设置的方法
'函数名'.prototype.方法 = function()
对象原型  —proto—
—proto—不能赋值,只能指向prototype
对象甚至系统自动添加一个 —proto—指向构造函数的原型对象
方法的查找规则
先看调用对象身上是否有方法,如果有就执行,但因为有 —proto—的存在,就去构造函数
身上去找原型对象
原型对象constructor
constructor保存的时构造函数的本身,也成为构造函数
—proto—和prototype都会有constructor
可以记录构造函数的本身,手动指向原来的构造函数
当认为的改变构造函数的原型对象,需用constructor手动指向
原型链
查找原型对象 通过—proto—
访问一个实例对象的方法或属性时,先在自身找,找不到就到原型对象找,再找不到
就到上一级原型对象找,直到null,这总像链条一样的查找方式,就叫原型链
查找顺序
star构造函数—对象实例—star原型对象—Object原型对象—null
Object原型对象有tostring 对象实例可以直接调用tostring




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2