面向对象
如何创建一个对象 实现 属性私有 方法共享
function Obj(name,age){
this.name=name;
this.age=age;
this.fn()
}
Obj.prototype.fn=function(){
console.log(this.name);
}
var o=new Obj('张三',50)
创建对象的方式有几种
- 直接给对象绑定属性和方法
Var obj = new Object()
Obj.age = ‘18’
- 通过字面量创建对象
Var obj = {
Name = ‘zhangsan’,
Age = 18,
Eat:function(){
Console.log(你好)
}
}
- 工厂模式 (//方法属性都私有)
Function aa (a = 11){
Var xx = new Object()
Xx.abc = a
Xx.eat = function (){
Log(123)
}
Return xx
}
Var obj = aa(‘zhangsan’)
Log(obj)
- 构造函数
Function xx (name,sex,age){
This.name = name
This.age = age
This.sex = sex
This.xx = ‘ooo’
This.eat = function(){
Log(456)
}
}
- 原型对象
Function aa(){
Return 222
}
Aa.prototype.age = 18
Var xx = aa()
Var obj = new aa()
Log(obj)
- 混合模式(构造函数+原型对象)
Function aa (){
This.name = ‘张三’
}
Aa.prototype.sex = ‘男’
Var obj = new aa ()
Obj.__proto__.age= 17
Var obj2 = new aa()
Log(obj2.age)
面向对象编程和面向过程编程
面向对象编程
1) 用抽象的方式创建基于现实世界模型的一种编程方式
2) 将需求抽象为一个对象,在这个对象上分析它的属性和方法
3) 将对函数的封装转为对对象的封装
面向过程编程 分析问题所需要的步骤,用函数将这些步骤一步一步实现的编程方式