面向对象
作者:互联网
1、面向过程
- 先将解决问题所需要的步骤分析出来,再用函数将这些步骤实现,按照业务一个一个的依次调用这些函数,从而解决问题。
2、面向对象
- 先将参与问题的对象分析出来,然后分析这个对象在这个问题中所具备的属性和行为,重点是研究参与问题的各个对象
- 面向对象的优势:
1、维护简单
2、可扩展性
3、代码重用性
4、代码效率高
3、对象 (万物皆对象)
- 对象中所有的值都是以键值对的形式来存在的
- 如果键值对的值是一个具体的值,则这个键值对就叫对象的属性。
- 如果键值对的值是一个函数,则这个键值对就叫对象的方法
var obj = {
name : "张三", //对象的属性
say : function(){ //对象的方法
console.log(wedqwd);
}
}
4、抽象
- 在很多对象中按照某个共同的特征归为一个类,这个过程就叫抽象。
5、类
- 是具有共同特征的对象的集合
- class 在 java php等语言中 类由class来声明
- 在js中我们可以通过构造函数的形式来定义一个类。
- 构造函数,首字母必须大写
6、this指向
- 当构造函数,没有实例化 之前,其中this指向window
- 当构造函数实例化之后,其中this指向 实例化出来的对象
7、原型对象
- 实例化对象的时候,传参是给对象的属性传入具体值,而构造函数中,定义的方法其传参是在使用这个方法时,在传进去,不是定义类的时候给它传。
//定义一个人类
function Person(names) {
this.type = '人类';
this.names = names;
this.say = function (t) {
console.log(this.names + "说:" + t);
}
}
var qiang = new Person('强哥');
var tan = new Person('摊主');
qiang.say('你这挂管用吗');
tan.say('不管,十年大礼包,滚');
- 当实例化出来的对象,有特有的方法或者属性时,可以直接给这个对象添加
qiang.kan = function () {
console.log('强哥掏出标签:console,log,对象,面向对象,arguments,arg,var
来源: https://www.cnblogs.com/liujianjun/p/16388610.html