JavaScript-中的面向对象
博客地址地址
今天开启我的专栏第一篇,接下来的日子,将和大家谈论一下JavaScript一些事情,
我慢慢发现你想实习面向对象编程,你得对原型链比较熟悉,对于this指向也要比较熟悉,才能更好,将代码进行高度抽象起来
1.0 面向对象概念
1.1 面向对象和面向过程的区别
面向过程
:我们在刚刚初学JavaScript时候,我们要复用一个方法,就想这个方法写成一个函数,然后在需要用到的时候,进行调用
面向对象
:把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。
知乎有一个关于面向对象去吧的回答
摇狗尾巴和狗摇尾巴的区别
面向过程的解决方法
在面向过程的编程方式中实现“把大象放冰箱”这个问题答案是耳熟能详的,一共分三步:
开门(冰箱); 装进(冰箱,大象); 关门(冰箱)。
面向对象的解决方法
冰箱.开门() 冰箱.装进(大象) 冰箱.关门()
2.0 实现面向对象方法
这里我们讨论几个主要的实现面向对象方法
2.1 工厂模式
何为工厂模式,
function Person(name,age,sex){ var obj = {}; obj.name = name; obj.age=age; obj.sex=sex; return obj; } let person1 = Person('夏夏',18,'男') console.log(person1)
其实上面还有这么写
function Person(name,age,sex){ var obj = {}; obj.name = name; obj.age = age; obj.sex =sex; } let person2 = new Person('我是有new',18,'男')
2.2 构造函数
JavaScript中new可以让函数变的与众不同
function demo() { console.log(this); } demo(); // window new demo(); // demo
关于构造函数,如果你暂时不能够理解new的具体实现,就先记住下面这几个结论吧。
与普通函数相比,构造函数并没有任何特别的地方,首字母大写只是我们约定的小规定,用于区分普通函数; new关键字让构造函数具有了与普通函数不同的许多特点,而new的过程中,执行了如下过程: 声明一个中间对象;
- 将该中间对象的原型指向构造函数的原型;
- 将构造函数的this,指向该中间对象;
- 返回该中间对象,即返回实例对象。
相关推荐
nmgxzm00 2020-11-10
ifconfig 2020-10-14
hhanbj 2020-11-17
zfszhangyuan 2020-11-16
古叶峰 2020-11-16
一个智障 2020-11-15
jipengx 2020-11-12
81427005 2020-11-11
xixixi 2020-11-11
游走的豚鼠君 2020-11-10
苗疆三刀的随手记 2020-11-10
Web卓不凡 2020-11-03
小飞侠V 2020-11-02
帕尼尼 2020-10-30
爱读书的旅行者 2020-10-26
帕尼尼 2020-10-23
杏仁技术站 2020-10-23
淼寒儿 2020-10-22