1.js本身也是一门面向对象编程语言。
    面向:对着;面先对象的编程语言:对着对象(OOP语言)
    写程序写代码的时候,所有的操作都是通过对象进行操作。


    2.复杂的不是面向对象本身的概念,而是对象,对象是什么?
    先想想什么是程序:
    对我们现实中的事物的抽象,我们真实的物体是具体,相片是对一个人的抽象
    程序是对我们现实事物的抽象,e.g.游戏和平精英是对战争的抽象……网页是平面媒体的抽象

    e.g.我想把一个人做成一个游戏的人物,这时候就需要对人进行抽象,那一个具体事物到了程序中是什么:对象
    ∴一个事物到了程序里就是以对象的形式存在,游戏里的游戏人物、子弹、抢、衣服、皮肤、手雷在程序里都是对象
    ∴每一个对象在背后都对应着一个实物,每个实物在程序里都对应一个对象,我在程序里想干什么,我只需要找到对应的对象,然后通过对象完成操作

    e.g.在js里有window对象,(是对象就有所指代,∴)window对象代表整个浏览器窗口。
    所以如果想对浏览器窗口工作,那么我们要找的就是window对象;
    同理,document(文档)对象代表整个网页。
    如果要对网页对象进行操作,我们要找的就是document对象,
    getelementbyid……都是通过document对象进行查询;
    同理,如果想要操作控制台,那就要找console对象,
    console.log可以向控制台输出日志,console.time可以开启计时器。
    通过这些对象操作具体事务,所以面向对象概念:通过对象去操作事物


    3.在js中面向对象支持度不算高,在es6才正式有这个概念思想


    4.如何将复杂的事物抽象成对象?事物再复杂也就包含两个东西:
    1.事物的数据(年龄,身高、性别、体重、爱好……),在对象里称为属性
    2.事物的功能(吃、喝、运动、洗衣服……),在对象里称为方法
    image.png


    5.难点在于如何去创建对象、如何去定义对象