编程思想:
面向过程:所有事情都是亲力亲为,注重的是过程
面向对象:提出需求,找对象,对象解决,注重的是结果
Js不是一门面向对象的语言,是基于对象的语言,Js来模拟面向对象
面向对象的特征:封装,继承,多态
对象:具体特指的某个事物,有特征(属性)和行为(方法)
如何创建对象:
通过调用new Object(),还有{},自定义构造函数
创建对象的方式:
1,调用系统Obeject()---------->创建出来的对象都是Obeject类型的
2,字面量方式{}---------------->只能创建一个对象(一次只能创建一个)
3,工厂模式创建对象----------->自定义构造函数(优化后的工厂模式)
<script>
//字面量方式
var per1={
name:"xxx",
age:20,
sex:"男",
eat:function(){
console.log("吃东西");
},
readbook:function(){
console.log("看书");
}
}
//调用系统的构造函数
var per2=new object();
per2.name="vvv";
per2.age=20;
per2.sex="男";
per2.eat=function(){
console.log("吃东西");
}
per2.readbook=function(){
console.log("看书");
}
//自定义构造函数
function Person(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
this.play=function(){
console.log("玩游戏");
}
}
var per=new Person("小明",18,"男"); //实例化对象,数据初始化
console.log(per instanceof Person);
</script>
推荐使用自定义构造函数来创建对象
<script>
function Person(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
this.sayHi=function(){
console.log("你好");
}
}
var per=new Person("小明",18,"男");//实例化对象,数据初始化
//1,开辟空间存储对象
//2,把this设置为当前的对象
//3,设置属性和方法的值
//4,把this对象返回
</script>