您好,登錄后才能下訂單哦!
這篇文章主要講解了“javascript的對象是什么意思”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“javascript的對象是什么意思”吧!
在JS中或者說在面向對象的編程語言中,對象是一系列屬性和方法的組合。一個屬性包含屬性名和屬性值,這個值可以是任意類型的數據,也可以是個函數,這種情況下函數也被稱為方法。
本教程操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
1.1 什么是對象?
對象是事物,在現實世界中,一個球,一張桌子,一輛汽車都是對象。
對象就是具有可描述特征的事物,我們可以用某種特定的方式去影響和操作它。
在JS中或者說在面向對象的編程語言中,對象是一系列屬性和方法的組合。
一個屬性包含屬性名和屬性值,這個值可以是任意類型的數據,也可以是個函數,這種情況下函數也被稱為方法。
而在JS中,你遇到的所有東西幾乎都是對象,那么我們來了解一下對象的細節。
1.2 對象的特征?
對象有屬性,也就是對象的特征,可以通過點符號來訪問一個對象的屬性。
objectName.propertyName;
如果把對象比作現實中的一個球,那這個球就是一個對象,擁有屬性,有顏色有大小。這些可以這樣表示:
var ball = new Object(); ball.color = “red"; ball.size = 12;
對象還有方法,方法用于定義對象的行為方式。
比如這個球可能有滾動的方法可以計算能滾多遠,有彈跳的方法可以計算跳多高。
可以這樣表示:
ball.roll = function() { return this.size * laps }
1.3 訪問對象的屬性
前面講過我們可以通過點符號來訪問對象的屬性,但如果是這樣的情況,還能通過點符號訪問對象的屬性嗎:
var ball = new Object(); ball.color = “red"; ball.size = 12; var spec = “color”; ball.spec ??
這里假設有一個變量spec,我們需要通過這個變量spec來訪問對象屬性。
但如果用點符號將會訪問ball的spec屬性然后返回一個undefined,說明這里直接將spec當做了一個屬性而不是變量。
如果我們想要獲得變量的值,來作為對象的屬性那應該怎么做呢?
可以使用方括號標記訪問,這個標記法在屬性名稱那里是動態判定的,這樣就可以通過存儲在變量中的字符串來訪問屬性了:
ball[spec]; // red
1.4 枚舉對象的屬性
另外我們可以通過for in循環語句來枚舉對象的所有屬性:
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函數來過濾一遍 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)的方法來返回一個屬性名集合的數組:
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的對象是什么意思”的內容了,經過本文的學習后,相信大家對javascript的對象是什么意思這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。