使用自定義構造函數創建對象
function Person(name,age){
this.name=name;
this.age=age;
this.play=function(){
console.log("hhh")
}
}
//創建對象-----對對象進行初始化
var per=new Person("小紅",17);
per.play()
總結步驟:
1、開闢空間存儲對象
2、把this設置爲當前的對象
3、設置屬性和方法的值
4、把this對象返回
使用工廠模式創建對象
function createObject(name,age){
var obj=new Object();
obj.name=name;
obj.age=age;
obj.play=function(){
console.log("hhhh")
}
return obj
}
var per1=createObject("小紅",13)
根據以上就能看出來,它們的共同點都是函數,都可以創建對象,都可以傳入參數
不同點是:
工廠模式:
1、函數名是小寫
2、有返回值
3、new之後的對象是當前的對象
4、直接調用函數創建對象
自定義構造函數:
1、函數名是大寫
2、沒有返回值
3、this是當前的對象
4、通過new的方式來創建對象
但平時創建對象的話都會用自定義構造函數來創建