面向对象编程
面向对象编程
面向对象编程
面向对象 json object-oriented
是一种思想,是一种思维方式,只关注结果
面向过程 怎么实现一件事情,函数,自顶向下
面向数据
面向切片
面向对象的好处: 提高效率,适合团队开发
面向对象的思想
封装
封装共性,内部细节不考虑,只管使用
继承
子类继承父类的特点+
多态
个性,同一个接口,可传不同的参数,返回不一样的东西
对象,就是一堆属性和方法的集合。
现实中的事物抽象化就是 => 对象
构造函数才有 原型 prototype
对象才有 proto
原型链:访问对象的属性或方法,自己没有的话,逐层往上一层去找。直到最顶层 Object
对象的顶层就是 Object,最顶层是 null
—原型:继承的本质—
** ***** Student.prototype = Persons.prototype;**
* 这种整体改原型得方法,不靠谱,因为子类可以修改父类得方法。
給原型传值:
** ** Student.prototype.showName=Persons.prototype.showName;(深拷贝)
=====最终实现=======
1 |
|
=========
原型的用处
1 继承
2 扩展对象的方法,(扩展处理兼容性问题)
======
typeof
number NaN
string
boolean
undefined
Object null
function
简单值
number
string
boolean
特殊值
NaN
undefined
null
复杂数据类型
object
function
如:– Array Date Json Reg
对象的检测方式
instanceof 检测有没有血缘关系
obj instanceof Object
constructor 检测是由谁构造来的,就是检测父级
arr.constructor==Object
对象是由对象创建的
对象是基于原型的,不是基于类(function)的
** ****Object 与 Function 是通过 new 和原型关联起来的**
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!