首页 > 代码库 > JavaScript学习笔记八:面向对象的程序设计
JavaScript学习笔记八:面向对象的程序设计
1. ECMA-262把对象定义为:无序属性的集合,其属性可以包含基本值,对象和函数。每个对象都是基于一个引用类型创建的。
2. 属性有两种:数据属性和访问器属性,其中访问器属性不能直接定义,必须使用Object.defineProperty()来定义。
3. 任何函数,只要通过new操作符来调用,那它就可以作为构造函数。
4. 原型:无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象。
这个连接存在于实例与构造函数的原型对象之间,而不是存在于实例与构造函数之间。
当代码读取某个对象的某个属性时,先搜索对象实例本身,如果在实例中找到了具有给定名字的属性,则返回该属性值;如果没有找到,则继续搜索指针指向的原型对象中是否有该属性。
5. 实例与原型之间的连接是一个指针,而非一个副本。
6. 若把原型修改为另外一个对象,就等于切断了构造函数和最初原型之间的联系。
7. 目前ECMAScript中使用最广泛的创建自定义类的方法是构造函数和原型混成模式。
8. 构造函数、原型和实例的关系:每个构造函都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。
8. 继承:ECMAScript只支持实现继承,不支持接口继承,而且其实现继承主要是依靠原型链。
JavaScript学习笔记八:面向对象的程序设计
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。