淺析JavaScript中的對象類型Object
ECMAScript中的對象其實就是一組數(shù)據(jù)和功能的集合。
ECMAScript中Object是所有對象的基礎(chǔ)。
理解:Object類型是所有它的實例的基礎(chǔ),換句話說,Object類型所具有的任何屬性和方法也同樣存在于更具體的對象中。
Object的實例都具有以下屬性和方法
1.Constructor:保存著用于創(chuàng)建當(dāng)前對象的函數(shù)
2.hasOwnProperty(propertyName):用于檢查給定的屬性在當(dāng)前對象實例中(而不是原型中)是否存在。其中作為參數(shù)的屬性名必須以字符串指定
3.isPrototypeOf(object):用于檢查傳入的對象是否是另一個對象的原型
4.toLocalString():返回對象的字符串表示,該字符串與執(zhí)行環(huán)境相對應(yīng)
5.toString():返回對象的字符串表示
6.valueOf():返回對象的字符串、數(shù)字或布爾值表示。通常與toString()方法的返回值相同
全局對象
全局對象在JavaScript中有著重要的用途: 全局對象的屬性是全局定義的符號, JavaScript程序可以直接使用,當(dāng)解釋器啟動時,它將創(chuàng)建一個新的全局對象,并給它一組定義的初始屬性:
全局屬性,比如undefined, Infinity
全局函數(shù),比如parseInt()
構(gòu)造函數(shù),比如Data(),
全局對象,比如Math和JSON
包裝對象
看這樣一個例子:
var s = "hello world!";
var word = s.substring(s.indexOf(" ")+1, s.length);
字符串既然不是對象,為什么它會有屬性呢?只要引用了字符串s的屬性,JavaScript就會將字符串值通過調(diào)用new String(s)的方式轉(zhuǎn)換成對象,
同字符串一樣,數(shù)字和布爾值也有相應(yīng)的方法。其他類似的包裝類:
Number object String object Boolean Object Function Object RegExp Object Error SyntaxError ReferenceError TypeError …
原始值是不可改變的,原始值的比較是值比較, 對象的比較并非值比較:即使兩個對象包含同樣的屬性以及相同的值,他們也不是相等的。我們通常將對象稱為引用類型,對象的值都是引用,對象的比較也是引用的比較,當(dāng)且僅當(dāng)他們引用同一個基獨享,他們才相等;
相關(guān)文章
javascript基礎(chǔ)知識分享之類與函數(shù)化
在C++中是以class來聲明一個類的,JavaScript與C++不同,它使用了與函數(shù)一樣的function來聲明,這就讓許多學(xué)Jscript的朋友把類與函數(shù)混在一起了,在Jscript中函數(shù)與類確實有些混,但使用久了自然會理解,這篇文章是針對想進(jìn)攻面向?qū)ο缶幊痰呐笥讯鴮?就不打算討論得太深了2016-02-02
JavaScript中操作字符串之localeCompare()方法的使用
這篇文章主要介紹了JavaScript中操作字符串之localeCompare()方法的使用,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下2015-06-06
JavaScript中圓括號()和方括號[]的特殊用法疑問解答
大家對JavaScript中圓括號() 和 方括號[] 的特殊用法或許有些疑問,本文就帶著這些疑問為大家詳細(xì)介紹下,有疑問的朋友可不要錯過了哈2013-08-08
對JavaScript的全文搜索實現(xiàn)相關(guān)度評分的功能的方法
這篇文章主要介紹了對JavaScript的全文搜索實現(xiàn)相關(guān)度評分的功能的方法,采用了一個名為Okapi BM25的算法,文中亦有介紹,需要的朋友可以參考下2015-06-06
傳智播客學(xué)習(xí)之JavaScript基礎(chǔ)篇
前幾天學(xué)習(xí)了JavaScript,但是一直由于忙碌的原因,沒有來得及進(jìn)行總結(jié),今天終于有時間進(jìn)行一個全面總結(jié)了,希望給正在努力學(xué)習(xí)的朋友們一點小小幫助。2009-11-11

