JavaScript 学习笔记(六)JavaScript基础,JavaScript面向对象相关知识点及案例

目录

一、了解面向对象

二、创建对象的方式

1. 字面量方式创建对象

2. 内置构造函数创建对象

3. 工厂函数创建对象

4. 自定义构造函数创建对象

三、构造函数的使用

1. 构造函数和普通函数没有区别

2. 构造函数名首字母大写

3. 要和new关键字连用

4. 不用写小括号

5. 直接书写 this.xxx = 值

6. 不用写return

四、构造函数的不合理

五、原型prototype

六、案例:简单版面向对象选项


一、了解面向对象

面向对象是我们的一种开发方式。

例子:一份烤鸭

在面向过程中:所有事情都是自己来做,要考虑顺序(先杀鸭子,先烤鸭子,还是先切鸭子);要考虑步骤(杀鸭子的时候,先干什么,后干什么);要考虑细节(胡萝卜的宽窄程度,酱的咸甜口等)。而在面向对象中,我们只需要点一份烤鸭,等待烤鸭上桌就好。(会有专门的人来处理这些事情)

1. 面向过程:一种关注过程的开发方式

=> 在开发过程中,我们要关注每一个细节,步骤,顺序。

2. 面向对象:一种面向对象的开发方式

=> 在开发过程中,我们看看有没有一个对象能帮助我们完成任务。

开发过程中的例子:全选(详见之前的文章:JavaScript案例(二):全选;html+css+js实现全选功能_小张小张的博客-CSDN博客

面向过程:考虑获取哪些元素;考虑给哪些元素绑定点击事件;考虑点击的时候,做什么。

面向对象:考虑有没有一个对象能帮我们完成全选;如果有,那么我们就直接让这个对象帮我完成;如果没有,我们就需要制造这样一个对象来帮我完成。

我们需要这样一个‘机器’:这个机器能给我生产一个对象;生产出来的对象能完成全选功能;我们只要准备好这个机器就可以了;本次开发过程中,我们制造机器,制造好之后,用机器生成一个对象完成全选功能;当你第二次想进行全选功能开发的时候,那么我们就不用再次制造机器了;只要用原先准备的机器,再制造一个新的全选对象就可以了。

我们制造“机器”的过程,就是面向对象封装的过程,面向对象的核心:高内聚,低耦合(就是对面向过程的高度封装)

总结:核心就是找到一个机器,能批量生产对象;

生产出来的对象,每一个对象都有自己的属性和方法;

每一个对象可能类似,但是内容不太一样;可以像函数一样传递参数,可以给每一个对象添加一些不同的内容,利用构造函数去创建一个可以完成任务的对象,依赖这个对象完成功能。

这个机器要生产有属性有方法的合理的对象。(机器:就是构造函数; 属性:直接写在构造函数体内; 方法: 写在构造函数的原型上)

二、创建对象的方式

1. 字面量方式创建对象

var obj = { ... }  

        //1. 字面量方式创建对象
        var obj = {
            name: 'jack',
            age: 18,
            sayHi: function () {console.log('hello world!')}
        }

        //如果想创建第二个对象
        var obj2 = {
            name: 'Rose',
            age: 20,
            sayHi: function () {console.log('hello world!')}
        }

重复写同样的方法,name等,不符合批量制造的原则,因此这种方式不经常用。

2. 内置构造函数创建对象

var obj = new Object()

可后期动态添加

        //2. 内置构造函数创建对象
        var obj = new Object()
        obj.name = 'Jack'
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值