建立物件的四種方式
阿新 • • 發佈:2021-11-23
建立物件的三種方式
1.字面量的方式去建立物件
2.使用new字元建立物件
3.自定義建構函式
4.工廠模式建立物件
物件是指:具有屬性和方法
我之前一直以為物件就是有屬性沒有方法,尷尬了。主要是忘記了。
1.通過字面量的方式去建立物件
var person1={ name:'柯南', age:12, sex:'男', eat:function(){ console.log("我餓了,想吃飯") }, say:function(){ console.log("我叫柯南") } } console.log("person.eat輸出函式",person.eat) person.eat(); //直接輸出 我餓了,想吃飯 我們需要注意的是person.eat和person.eat()的區別 person.eat是輸出函式 person.eat()是呼叫函式
2.使用new字元建立物件
var person2=new Object();
person2.name='柯南'
person2.age='21'
person2.sex='男'
person2.eat=function(){
console.log("我餓了,想吃飯")
}
person2.say=function(){
console.log("我叫柯南")
}
console.log( '性別',person2.sex ) //輸出男
上面這兩種方式去建立物件的缺點
雖然上面這兩種都可以去建立物件 但是我們創建出來的物件壓根就不知道是什麼型別? 當然我們知道他們是OBject型別 這個時候我們就需要使用自定義建構函式去建立物件了
3.自定建構函式建立物件
function Person(name,age,sex,like){ console.log('沒有給like形參傳遞值就是undeined',like) // 這裡的this指向的是Person這個物件 console.log('this',this) this.name=name; this.age=age; this.sex=sex; this.say=function(){ console.log("我叫",name) } } //這一行程式碼表示的是建立一個物件 //同時例項化一個物件 //並且給這個物件的屬性進行初始化 //所以這一行程式碼並不簡單 let per1=new Person('柯南',19,'男'); per1.say(); console.log(per1 instanceof Person);//true 現在我們知道了per1是屬於Person型別的 這就是自定建構函式建立物件的優勢 我們知道它建立的物件是哪個型別的 ps:建構函式通常首字母大寫
當我們new一個物件的時候做了四件事情
通過建立自定義物件我們明白了
當我們new一個物件的時候做了四件事情
1.開闢空間儲存當前物件
2.把this設定為當前物件
3.設定屬性和方法
3.把this物件返回
4.工廠模式建立物件
function createObj(name,age) {
let obj=new Object();
obj.name=name;
obj.age=age;
obj.sayHi=function(){
console.log(obj.name)
}
return obj;
}
let per=createObj('司藤',200)
console.log(per.age); //200
per.sayHi(); //司藤
作者:明月人倚樓 出處:https://www.cnblogs.com/IwishIcould/
想問問題,打賞了卑微的博主,求求你備註一下的扣扣或者微信;這樣我好聯絡你;(っ•̀ω•́)っ✎⁾⁾!
如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,或者關注博主,在此感謝!
萬水千山總是情,打賞5毛買辣條行不行,所以如果你心情還比較高興,也是可以掃碼打賞博主(っ•̀ω•́)っ✎⁾⁾!
想問問題,打賞了卑微的博主,求求你備註一下的扣扣或者微信;這樣我好聯絡你;(っ•̀ω•́)っ✎⁾⁾!
支付寶 微信 本文版權歸作者所有,歡迎轉載,未經作者同意須保留此段宣告,在文章頁面明顯位置給出原文連線如果文中有什麼錯誤,歡迎指出。以免更多的人被誤導。