<script>
/*
* 创建对象三种方式:
* 1,
*/
//1.实例对象
/*var per1={
name:"卡卡西";
age:20;
sex:"男";
eat:function(){
console.log("吃1111")
},
readBook:function(){
console.log("琴儿");
}
}
//2.调用系统的构造函数
var per2=new Object();
per2.name="搭设";
per2.age=20;
per2.sex="ddd";
per2.eat=function(){
console.log()
};
per2.play=function(){
console.log()
}
console.log(per2 instanceof Object)*/
//因为创建方式1和2是无法判断对象数据类型不推荐使用
//3.自定义构造函数
function person(name,age,sex){
this.name=name;
this.age=age;
this.sex=sex;
this.play=function(){
console.log("打打")
}
}
//创建对象-----又称实例化一个对象,同时对属性进行初始化
var per=new person("条",22,"女");
console.log(per instanceof person)
/*
* 自定义构造函数做的事情:
* 1.开辟空间储存对象
* 2.吧this设置为当前的对象
* 3.设置属性和方法
* 4.把this对象返回
*
*/
//4.工厂模式创建对象
function create(name,sex,age){
var obj=new Object();
obj.name=name;
obj.age=age;
obj.sex=sex;
obj.sayHi=function(){
Console.log("jjj")
}
return obj;
}
var per1=create("条1",22,"女1")
/*
* 自定义函数与工厂模式区别:
* 工厂模式
* 1.函数名小写,有new和返回值,new指环的对象是当前的对象,直接调用函数创建对象
* 自定义函数
* 2.函数名大写,没有new和返回值,this是当前的对象,通过new方式函数创建对象
*/
</script>