ECMAScript 0bject類型
ECMAScript中的對(duì)象其實(shí)就是一組數(shù)據(jù)和功能的集合。對(duì)象可以通過執(zhí)行new操作符后跟要?jiǎng)?chuàng)建的對(duì)象類型的名稱來創(chuàng)建。而創(chuàng)建Object類型的實(shí)例并為其添加屬性和(或)方法,就可以創(chuàng)建 自定義對(duì)象,如下所示:
var o=new Object();
這個(gè)語法與Java中創(chuàng)建對(duì)象的語法相似;但在ECMAScript中,知果不給構(gòu)造函數(shù)傳遞參數(shù),則可以省略后面的那一對(duì)圓括號(hào)。也就是說,在像前面這個(gè)示例一樣不傳遞參數(shù)的情況下,完全可以省略那對(duì)圓括號(hào)(但這不是推薦的做法):
var o=new Object; //南昌頁設(shè)計(jì)公司提示:有效,但不推薦省略圓括號(hào)
僅僅創(chuàng)建Object的實(shí)例并沒有什么用處,但關(guān)鍵是要理解一個(gè)重要的思想:即在ECMAScript中,(就像Java中的java.lang.Object對(duì)象一樣)Obj ect類型是所有它的實(shí)例的基礎(chǔ)。換句話說,Object類型所具有的任何屬性和方法也同樣存在于更具體的對(duì)象中。
Object的每個(gè)實(shí)例都具有下列屬性和方法:
■constructor-—保存著用于創(chuàng)建當(dāng)前對(duì)象的函數(shù)。對(duì)于前面的例子而言,構(gòu)造函數(shù)(constructor)就是Object();
■hasOwnProperty(propertyName)——用于檢查給定的屬性在當(dāng)前對(duì)象實(shí)例中(而不是在實(shí)例的原型中)是否存在。其中,作為參數(shù)的屬性名(propertyName)必須以字符串形式指定 (例如:o.hasOwnProperty(”name”));
■isPrototypeOf (object)——用于檢查傳人的對(duì)象是否是男一個(gè)對(duì)象的原型;
■propertyIsEnumerable(propertyName)——用于檢查給定的屬性是否能夠使用for-in語句來枚舉。與hasOwnPr。perty()方法一樣,作為參數(shù)的屬性名必須以字符串形式指定;
■toString()——返回對(duì)象的字符串表示;
■valueOf()——返回對(duì)象的字符串、數(shù)值或布爾值表示。通常與t。String()方法的返回值相同。
南昌做網(wǎng)站公司百恒網(wǎng)絡(luò)前端開發(fā)工程師提醒廣大技術(shù)人員,由于在ECMAScript中Object是所有對(duì)象的基礎(chǔ),因此所有對(duì)象都具有這些基本的屬性和方法。
同時(shí),南昌網(wǎng)站建設(shè)公司提醒技術(shù)人員,IE的javascript實(shí)現(xiàn)在對(duì)象方面稍有不同.在IE中,只有開發(fā)人員定義的對(duì)象才繼承自O(shè)bject.而且,所有BOM和DOM對(duì)象也與這里介紹的不同,可能不會(huì)具有Object的所有屬性和方法。
希望對(duì)廣大站長或網(wǎng)站建設(shè)公司的團(tuán)隊(duì)有所幫助,如對(duì)此不太理解的,可以與南昌網(wǎng)絡(luò)公司百恒網(wǎng)絡(luò)技術(shù)部聯(lián)系。我們很高與廣大站長和網(wǎng)站建設(shè)公司技術(shù)人員分享我們的技術(shù)和經(jīng)驗(yàn)。