最近幾天一直和朋友在討論關(guān)于對象 的問題,當然,在這里說的對象不是指男女朋友對象,是占據(jù)javascript整個的對象,畢竟js是面向?qū)ο蟮木幊陶Z言,那么首先我們要搞清楚什么是對象,不管你怎么去查閱資料,很難去給對象下一個定義,因為這玩意說實話沒有特定的含義,需要我們?nèi)ヂ娜ダ斫?。在這里吧 我也談一下我對對象的理解。
對象,從哲學(xué)理論(博主不是在吹,哲學(xué)思想很重要)上講十分抽象,大家肯定聽說過一切皆是對象這句話。我們看到的任何東西都可以是對象,比如電視機,電腦,空調(diào),洗衣機。。等等我們并不知道電視機里面構(gòu)造是啥 我們會用就行,就像我們不需要知道Date對象里面是啥,我們知道它是獲取日期的就行。其實對象這個概念來源于生活,就像你去飯店吃飯一樣,吩咐廚師來一碗蘇格蘭打鹵面,你根本不需要知道蘇格蘭打鹵面怎么做的,你只要知道廚師會做就行,通過調(diào)用(指揮)廚師就能獲取你想要的東西(面)。
俗話說的好 要知其然知其所以然,現(xiàn)在我們不但要會用對象 ,我們還要學(xué)會寫一個對象,這樣也能幫我們更好的知道什么是對象 以及對象的一些特性。
瀏覽器自帶的對象很多像Date,Array,Regexp,Error...等這些都是自帶功能的對象,但是有一個對象自身是沒有功能的,就像一個新的畫布一樣,我們可以在上面繪制我們想要的東西,這個對象就是Object,它是一個空白對象?,F(xiàn)在我們做這樣一個例子創(chuàng)建一個人物對象他的名字叫張三,年齡23,他有自己的showName,showAge方法。如下
var person = new Object();
person.name = '張三';
person.age = 23;
person.showName = function(){
alert("我的名字叫"+this.name)
}
person.showAge = function(){
alert("我的年齡是"+this.age+"歲")
}
person.showName();//我的名字叫張三person.showAge();//我的年齡是23歲
假如現(xiàn)在要你在創(chuàng)建一個人叫李四年齡24有自己的showName,showAge方法,那么我們可能會這樣寫
var person = new Object();
person.name = '張三';
person.age = 23;
person.showName = function(){
alert("我的名字叫"+this.name)