A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Allowclearance 初级黑马   /  2019-6-21 13:57  /  924 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

构造元素和模型
在典型的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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马