您好,登錄后才能下訂單哦!
這篇文章主要講解了“javascript的對象是什么意思”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“javascript的對象是什么意思”吧!
在JS中或者說在面向?qū)ο蟮木幊陶Z言中,對象是一系列屬性和方法的組合。一個屬性包含屬性名和屬性值,這個值可以是任意類型的數(shù)據(jù),也可以是個函數(shù),這種情況下函數(shù)也被稱為方法。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
1.1 什么是對象?
對象是事物,在現(xiàn)實世界中,一個球,一張桌子,一輛汽車都是對象。
對象就是具有可描述特征的事物,我們可以用某種特定的方式去影響和操作它。
在JS中或者說在面向?qū)ο蟮木幊陶Z言中,對象是一系列屬性和方法的組合。
一個屬性包含屬性名和屬性值,這個值可以是任意類型的數(shù)據(jù),也可以是個函數(shù),這種情況下函數(shù)也被稱為方法。
而在JS中,你遇到的所有東西幾乎都是對象,那么我們來了解一下對象的細(xì)節(jié)。
1.2 對象的特征?
對象有屬性,也就是對象的特征,可以通過點符號來訪問一個對象的屬性。
objectName.propertyName;
如果把對象比作現(xiàn)實中的一個球,那這個球就是一個對象,擁有屬性,有顏色有大小。這些可以這樣表示:
var ball = new Object(); ball.color = “red"; ball.size = 12;
對象還有方法,方法用于定義對象的行為方式。
比如這個球可能有滾動的方法可以計算能滾多遠(yuǎn),有彈跳的方法可以計算跳多高。
可以這樣表示:
ball.roll = function() { return this.size * laps }
1.3 訪問對象的屬性
前面講過我們可以通過點符號來訪問對象的屬性,但如果是這樣的情況,還能通過點符號訪問對象的屬性嗎:
var ball = new Object(); ball.color = “red"; ball.size = 12; var spec = “color”; ball.spec ??
這里假設(shè)有一個變量spec,我們需要通過這個變量spec來訪問對象屬性。
但如果用點符號將會訪問ball的spec屬性然后返回一個undefined,說明這里直接將spec當(dāng)做了一個屬性而不是變量。
如果我們想要獲得變量的值,來作為對象的屬性那應(yīng)該怎么做呢?
可以使用方括號標(biāo)記訪問,這個標(biāo)記法在屬性名稱那里是動態(tài)判定的,這樣就可以通過存儲在變量中的字符串來訪問屬性了:
ball[spec]; // red
1.4 枚舉對象的屬性
另外我們可以通過for in循環(huán)語句來枚舉對象的所有屬性:
var ball = {color: “red”, size: 12, border: 2}; for (var prop in ball) { console.log(“ball.” + prop + “=“ + obj[prop]); } // ball.color = red // ball.size = 12 // ball.border = 2 // 如果希望繼承的屬性不顯示,那么可以用hasOwnProperty函數(shù)來過濾一遍 var bar = {a: 1, b: 2, c: 3}; function Foo() { this.color = 'red'; } Foo.prototype = bar; var obj = new Foo(); for (var prop in obj) { if (obj.hasOwnProperty(prop)) { console.log(prop); } }
也可以通過Object.keys(obj)的方法來返回一個屬性名集合的數(shù)組:
var obj = {a: “123”, b: “das”, c: “web”}; console.log(Object.keys(obj)); // [“a”,”b”,”c”]; var arr = [“a”, “b”, “c”]; console.log(Object.keys(arr)); // [“0”,”1”,”2”];
感謝各位的閱讀,以上就是“javascript的對象是什么意思”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對javascript的對象是什么意思這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。