本篇內(nèi)容介紹了“JavaScript中三種對(duì)象分別是什么”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!
成都創(chuàng)新互聯(lián)公司專業(yè)為企業(yè)提供林芝網(wǎng)站建設(shè)、林芝做網(wǎng)站、林芝網(wǎng)站設(shè)計(jì)、林芝網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、林芝企業(yè)網(wǎng)站模板建站服務(wù),10余年林芝做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
JavaScript中的三種對(duì)象:1、內(nèi)部(置)對(duì)象,如Array,Boolean,Data,Math,Number,Object,RegExp,String對(duì)象等;2、宿主對(duì)象,即執(zhí)行JS腳本的環(huán)境提供的對(duì)象;3、自定義對(duì)象。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦
JS中,可以將對(duì)象分為“內(nèi)部對(duì)象”、“宿主對(duì)象”和“自定義對(duì)象”三種。
如圖所示:
⑴Number對(duì)象
⑵Math:內(nèi)置對(duì)象
Math 對(duì)象屬性
屬性 | 描述 |
---|---|
E | 返回算術(shù)常量 e,即自然對(duì)數(shù)的底數(shù)(約等于2.718)。 |
LN2 | 返回 2 的自然對(duì)數(shù)(約等于0.693)。 |
LN10 | 返回 10 的自然對(duì)數(shù)(約等于2.302)。 |
LOG2E | 返回以 2 為底的 e 的對(duì)數(shù)(約等于 1.4426950408889634)。 |
LOG10E | 返回以 10 為底的 e 的對(duì)數(shù)(約等于0.434)。 |
PI | 返回圓周率(約等于3.14159)。 |
SQRT1_2 | 返回 2 的平方根的倒數(shù)(約等于 0.707)。 |
SQRT2 | 返回 2 的平方根(約等于 1.414)。 |
Math 對(duì)象方法
方法 | 描述 |
---|---|
abs(x) | 返回 x 的絕對(duì)值。 |
acos(x) | 返回 x 的反余弦值。 |
asin(x) | 返回 x 的反正弦值。 |
atan(x) | 以介于 -PI/2 與 PI/2 弧度之間的數(shù)值來(lái)返回 x 的反正切值。 |
atan2(y,x) | 返回從 x 軸到點(diǎn) (x,y) 的角度(介于 -PI/2 與 PI/2 弧度之間)。 |
ceil(x) | 對(duì)數(shù)進(jìn)行上舍入。 |
cos(x) | 返回?cái)?shù)的余弦。 |
exp(x) | 返回 Ex 的指數(shù)。 |
floor(x) | 對(duì) x 進(jìn)行下舍入。 |
log(x) | 返回?cái)?shù)的自然對(duì)數(shù)(底為e)。 |
max(x,y,z,...,n) | 返回 x,y,z,...,n 中的最高值。 |
min(x,y,z,...,n) | 返回 x,y,z,...,n中的最低值。 |
pow(x,y) | 返回 x 的 y 次冪。 |
random() | 返回 0 ~ 1 之間的隨機(jī)數(shù)。 |
round(x) | 四舍五入。 |
sin(x) | 返回?cái)?shù)的正弦。 |
sqrt(x) | 返回?cái)?shù)的平方根。 |
tan(x) | 返回角的正切。 |
⑶Boolean 對(duì)象
Boolean 對(duì)象屬性
屬性 | 描述 |
---|---|
constructor | 返回對(duì)創(chuàng)建此對(duì)象的 Boolean 函數(shù)的引用 |
prototype | 使您有能力向?qū)ο筇砑訉傩院头椒ā?/td> |
Boolean 對(duì)象方法
方法 | 描述 |
---|---|
toString() | 把布爾值轉(zhuǎn)換為字符串,并返回結(jié)果。 |
valueOf() | 返回 Boolean 對(duì)象的原始值。 |
⑷String對(duì)象
String 對(duì)象屬性
屬性 | 描述 |
---|---|
constructor | 對(duì)創(chuàng)建該對(duì)象的函數(shù)的引用 |
length | 字符串的長(zhǎng)度 |
prototype | 允許您向?qū)ο筇砑訉傩院头椒?/td> |
String 對(duì)象方法
方法 | 描述 |
---|---|
charAt() | 返回在指定位置的字符。 |
charCodeAt() | 返回在指定的位置的字符的 Unicode 編碼。 |
concat() | 連接兩個(gè)或更多字符串,并返回新的字符串。 |
fromCharCode() | 將 Unicode 編碼轉(zhuǎn)為字符。 |
indexOf() | 返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。 |
includes() | 查找字符串中是否包含指定的子字符串。 |
lastIndexOf() | 從后向前搜索字符串,并從起始位置(0)開(kāi)始計(jì)算返回字符串最后出現(xiàn)的位置。 |
match() | 查找找到一個(gè)或多個(gè)正則表達(dá)式的匹配。 |
repeat() | 復(fù)制字符串指定次數(shù),并將它們連接在一起返回。 |
replace() | 在字符串中查找匹配的子串, 并替換與正則表達(dá)式匹配的子串。 |
search() | 查找與正則表達(dá)式相匹配的值。 |
slice() | 提取字符串的片斷,并在新的字符串中返回被提取的部分。 |
split() | 把字符串分割為字符串?dāng)?shù)組。 |
startsWith() | 查看字符串是否以指定的子字符串開(kāi)頭。 |
substr() | 從起始索引號(hào)提取字符串中指定數(shù)目的字符。 |
substring() | 提取字符串中兩個(gè)指定的索引號(hào)之間的字符。 |
toLowerCase() | 把字符串轉(zhuǎn)換為小寫(xiě)。 |
toUpperCase() | 把字符串轉(zhuǎn)換為大寫(xiě)。 |
trim() | 去除字符串兩邊的空白 |
toLocaleLowerCase() | 根據(jù)本地主機(jī)的語(yǔ)言環(huán)境把字符串轉(zhuǎn)換為小寫(xiě)。 |
toLocaleUpperCase() | 根據(jù)本地主機(jī)的語(yǔ)言環(huán)境把字符串轉(zhuǎn)換為大寫(xiě)。 |
valueOf() | 返回某個(gè)字符串對(duì)象的原始值。 |
toString() | 返回一個(gè)字符串。 |
⑸RegExp對(duì)象
RegExp 對(duì)象方法
方法 | 描述 |
---|---|
compile | 在 1.5 版本中已廢棄。 編譯正則表達(dá)式。 |
exec | 檢索字符串中指定的值。返回找到的值,并確定其位置。 |
test | 檢索字符串中指定的值。返回 true 或 false。 |
toString | 返回正則表達(dá)式的字符串。 |
支持正則表達(dá)式的 String 對(duì)象的方法
方法 | 描述 | FF | IE |
---|---|---|---|
search | 檢索與正則表達(dá)式相匹配的值。 | 1 | 4 |
match | 找到一個(gè)或多個(gè)正則表達(dá)式的匹配。 | 1 | 4 |
replace | 替換與正則表達(dá)式匹配的子串。 | 1 | 4 |
split | 把字符串分割為字符串?dāng)?shù)組。 | 1 | 4 |
RegExp 對(duì)象屬性
屬性 | 描述 |
---|---|
constructor | 返回一個(gè)函數(shù),該函數(shù)是一個(gè)創(chuàng)建 RegExp 對(duì)象的原型。 |
global | 判斷是否設(shè)置了 "g" 修飾符 |
ignoreCase | 判斷是否設(shè)置了 "i" 修飾符 |
lastIndex | 用于規(guī)定下次匹配的起始位置 |
multiline | 判斷是否設(shè)置了 "m" 修飾符 |
source | 返回正則表達(dá)式的匹配模式 |
⑹Global:內(nèi)置對(duì)象
JavaScript 全局屬性
屬性 | 描述 |
---|---|
Infinity | 代表正的無(wú)窮大的數(shù)值。 |
NaN | 指示某個(gè)值是不是數(shù)字值。 |
undefined | 指示未定義的值。 |
JavaScript 全局函數(shù)
函數(shù) | 描述 |
---|---|
decodeURI() | 解碼某個(gè)編碼的 URI。 |
decodeURIComponent() | 解碼一個(gè)編碼的 URI 組件。 |
encodeURI() | 把字符串編碼為 URI。 |
encodeURIComponent() | 把字符串編碼為 URI 組件。 |
escape() | 對(duì)字符串進(jìn)行編碼。 |
eval() | 計(jì)算 JavaScript 字符串,并把它作為腳本代碼來(lái)執(zhí)行。 |
isFinite() | 檢查某個(gè)值是否為有窮大的數(shù)。 |
isNaN() | 檢查某個(gè)值是否是數(shù)字。 |
Number() | 把對(duì)象的值轉(zhuǎn)換為數(shù)字。 |
parseFloat() | 解析一個(gè)字符串并返回一個(gè)浮點(diǎn)數(shù)。 |
parseInt() | 解析一個(gè)字符串并返回一個(gè)整數(shù)。 |
String() | 把對(duì)象的值轉(zhuǎn)換為字符串。 |
unescape() | 對(duì)由 escape() 編碼的字符串進(jìn)行解碼。 |
⑺Date對(duì)象
Date 對(duì)象屬性
屬性 | 描述 |
---|---|
constructor | 返回對(duì)創(chuàng)建此對(duì)象的 Date 函數(shù)的引用。 |
prototype | 使您有能力向?qū)ο筇砑訉傩院头椒ā?/td> |
Date 對(duì)象方法
方法 | 描述 |
---|---|
getDate() | 從 Date 對(duì)象返回一個(gè)月中的某一天 (1 ~ 31)。 |
getDay() | 從 Date 對(duì)象返回一周中的某一天 (0 ~ 6)。 |
getFullYear() | 從 Date 對(duì)象以四位數(shù)字返回年份。 |
getHours() | 返回 Date 對(duì)象的小時(shí) (0 ~ 23)。 |
getMilliseconds() | 返回 Date 對(duì)象的毫秒(0 ~ 999)。 |
getMinutes() | 返回 Date 對(duì)象的分鐘 (0 ~ 59)。 |
getMonth() | 從 Date 對(duì)象返回月份 (0 ~ 11)。 |
getSeconds() | 返回 Date 對(duì)象的秒數(shù) (0 ~ 59)。 |
getTime() | 返回 1970 年 1 月 1 日至今的毫秒數(shù)。 |
getTimezoneOffset() | 返回本地時(shí)間與格林威治標(biāo)準(zhǔn)時(shí)間 (GMT) 的分鐘差。 |
getUTCDate() | 根據(jù)世界時(shí)從 Date 對(duì)象返回月中的一天 (1 ~ 31)。 |
getUTCDay() | 根據(jù)世界時(shí)從 Date 對(duì)象返回周中的一天 (0 ~ 6)。 |
getUTCFullYear() | 根據(jù)世界時(shí)從 Date 對(duì)象返回四位數(shù)的年份。 |
getUTCHours() | 根據(jù)世界時(shí)返回 Date 對(duì)象的小時(shí) (0 ~ 23)。 |
getUTCMilliseconds() | 根據(jù)世界時(shí)返回 Date 對(duì)象的毫秒(0 ~ 999)。 |
getUTCMinutes() | 根據(jù)世界時(shí)返回 Date 對(duì)象的分鐘 (0 ~ 59)。 |
getUTCMonth() | 根據(jù)世界時(shí)從 Date 對(duì)象返回月份 (0 ~ 11)。 |
getUTCSeconds() | 根據(jù)世界時(shí)返回 Date 對(duì)象的秒鐘 (0 ~ 59)。 |
getYear() | 已廢棄。 請(qǐng)使用 getFullYear() 方法代替。 |
parse() | 返回1970年1月1日午夜到指定日期(字符串)的毫秒數(shù)。 |
setDate() | 設(shè)置 Date 對(duì)象中月的某一天 (1 ~ 31)。 |
setFullYear() | 設(shè)置 Date 對(duì)象中的年份(四位數(shù)字)。 |
setHours() | 設(shè)置 Date 對(duì)象中的小時(shí) (0 ~ 23)。 |
setMilliseconds() | 設(shè)置 Date 對(duì)象中的毫秒 (0 ~ 999)。 |
setMinutes() | 設(shè)置 Date 對(duì)象中的分鐘 (0 ~ 59)。 |
setMonth() | 設(shè)置 Date 對(duì)象中月份 (0 ~ 11)。 |
setSeconds() | 設(shè)置 Date 對(duì)象中的秒鐘 (0 ~ 59)。 |
setTime() | setTime() 方法以毫秒設(shè)置 Date 對(duì)象。 |
setUTCDate() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中月份的一天 (1 ~ 31)。 |
setUTCFullYear() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的年份(四位數(shù)字)。 |
setUTCHours() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的小時(shí) (0 ~ 23)。 |
setUTCMilliseconds() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的毫秒 (0 ~ 999)。 |
setUTCMinutes() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的分鐘 (0 ~ 59)。 |
setUTCMonth() | 根據(jù)世界時(shí)設(shè)置 Date 對(duì)象中的月份 (0 ~ 11)。 |
setUTCSeconds() | setUTCSeconds() 方法用于根據(jù)世界時(shí) (UTC) 設(shè)置指定時(shí)間的秒字段。 |
setYear() | 已廢棄。請(qǐng)使用 setFullYear() 方法代替。 |
toDateString() | 把 Date 對(duì)象的日期部分轉(zhuǎn)換為字符串。 |
toGMTString() | 已廢棄。請(qǐng)使用 toUTCString() 方法代替。 |
toISOString() | 使用 ISO 標(biāo)準(zhǔn)返回字符串的日期格式。 |
toJSON() | 以 JSON 數(shù)據(jù)格式返回日期字符串。 |
toLocaleDateString() | 根據(jù)本地時(shí)間格式,把 Date 對(duì)象的日期部分轉(zhuǎn)換為字符串。 |
toLocaleTimeString() | 根據(jù)本地時(shí)間格式,把 Date 對(duì)象的時(shí)間部分轉(zhuǎn)換為字符串。 |
toLocaleString() | 據(jù)本地時(shí)間格式,把 Date 對(duì)象轉(zhuǎn)換為字符串。 |
toString() | 把 Date 對(duì)象轉(zhuǎn)換為字符串。 |
toTimeString() | 把 Date 對(duì)象的時(shí)間部分轉(zhuǎn)換為字符串。 |
toUTCString() | 根據(jù)世界時(shí),把 Date 對(duì)象轉(zhuǎn)換為字符串。 實(shí)例: var today = new Date();var UTCstring = today.toUTCString(); |
UTC() | 根據(jù)世界時(shí)返回 1970 年 1 月 1 日 到指定日期的毫秒數(shù)。 |
valueOf() | 返回 Date 對(duì)象的原始值。 |
⑻O(píng)bject對(duì)象
⑼Array對(duì)象
⑽Function對(duì)象
各種錯(cuò)誤類對(duì)象:
⑴Error
⑵EvalError
⑶RangeError
⑷ReferenceError
⑸SyntaxError
⑹TypeError
⑴ 定義:宿主對(duì)象就是執(zhí)行JS腳本的環(huán)境提供的對(duì)象。
⑵ 瀏覽器對(duì)象:對(duì)于嵌入到網(wǎng)頁(yè)中的JS來(lái)說(shuō),其宿主對(duì)象就是瀏覽器提供的對(duì)象,所以又稱為瀏覽器對(duì)象,如IE、Firefox等瀏覽器提供的對(duì)象。
⑶ 注意:不同的瀏覽器提供的宿主對(duì)象可能不同,即使提供的對(duì)象相同,其實(shí)現(xiàn)方式也大相徑庭!這會(huì)帶來(lái)瀏覽器兼容問(wèn)題,增加開(kāi)發(fā)難度。
⑷ 宿主對(duì)象舉例:window,navigator,document等等
⑸ 瀏覽器擴(kuò)展對(duì)象:Active,XML,Debug,Script,VBArray等等
⑴對(duì)象字面量方式(通過(guò)JSON來(lái)創(chuàng)建對(duì)象)
缺點(diǎn):使用同一個(gè)接口創(chuàng)建很多對(duì)象,會(huì)產(chǎn)生大量的重復(fù)代碼。
⑵工廠模式。
①工廠模式就是將創(chuàng)建對(duì)象的語(yǔ)句放在一個(gè)函數(shù)里,通過(guò)傳入?yún)?shù)來(lái)創(chuàng)建特定對(duì)象,最后返回創(chuàng)建的對(duì)象。
函數(shù)createPerson()能夠根據(jù)接受到的參數(shù)來(lái)構(gòu)建一個(gè)包含所有必要信息的Person對(duì)象。
可以無(wú)數(shù)次的調(diào)用這個(gè)函數(shù),而每次它都會(huì)返回一個(gè)包含2個(gè)屬性和一個(gè)方法的對(duì)象。
②缺點(diǎn):工廠模式雖然可以創(chuàng)建多個(gè)相似的對(duì)象,但卻不能解決對(duì)象標(biāo)識(shí)的問(wèn)題,即怎樣知道一個(gè)對(duì)象的類型。
⑶構(gòu)造函數(shù)模式
①缺點(diǎn):使用構(gòu)造函數(shù)的主要問(wèn)題是:每個(gè)方法都要在每個(gè)實(shí)例上創(chuàng)建一遍。
②在ECMAScript中,函數(shù)即對(duì)象,因此每定義一個(gè)函數(shù),也就是實(shí)例化了一個(gè)對(duì)象。
③也就是說(shuō)通過(guò)構(gòu)造函數(shù)實(shí)例化的多個(gè)對(duì)象的方法,是多個(gè)不同的方法,但它們內(nèi)部的代碼以及實(shí)現(xiàn)的功能是相同的,這就造成了一定的資源浪費(fèi)。
⑷原型模式
①js中,每個(gè)函數(shù)都有一個(gè)prototype屬性,它是一個(gè)指針,指向一個(gè)對(duì)象,叫做原型對(duì)象。
②使用原型模式可以讓所有的實(shí)例共享原型對(duì)象中的屬性和方法,也就是說(shuō),不必再構(gòu)造函數(shù)中定義對(duì)象實(shí)例的信息。
③缺點(diǎn):省略了為構(gòu)造函數(shù)傳遞初始化參數(shù)這一環(huán)節(jié),結(jié)果所有實(shí)例在默認(rèn)情況下都將取得相同的屬性值。
原型模式的最大問(wèn)題是由共享的本性所導(dǎo)致的。原型中所有屬性是被很多實(shí)例共享的
這種共享對(duì)于函數(shù)非常合適。對(duì)于包含引用類型的屬性來(lái)說(shuō),問(wèn)題就比較突出了。
④因此,很少單獨(dú)使用原型模式。
⑸組合使用構(gòu)造函數(shù)模式和原型模式
①組合使用構(gòu)造函數(shù)模式和原型模式,是創(chuàng)建自定義類型的最常見(jiàn)方式。
②構(gòu)造函數(shù)模式用于定義實(shí)例屬性,而原型模式用于定義方法和共享的屬性。
③結(jié)果,每個(gè)實(shí)例都會(huì)有自己的一份實(shí)例屬性的副本,但同時(shí)又共享著對(duì)方法的引用,最大限度的節(jié)省了內(nèi)存。
⑹其他模式
①動(dòng)態(tài)原型模式:僅在第一次調(diào)用構(gòu)造函數(shù)時(shí),將方法賦給原型對(duì)象的相應(yīng)屬性,其他示例的處理方式同構(gòu)造函數(shù)模式
②寄生構(gòu)造函數(shù)模式:僅僅封裝創(chuàng)建對(duì)象的代碼,然后再返回新創(chuàng)建的對(duì)象,仍使用new操作符調(diào)用
③穩(wěn)妥構(gòu)造函數(shù)模式:沒(méi)有公共屬性,只有私有變量和方法,以及一些get/set方法,用以處理私有變量。
“JavaScript中三種對(duì)象分別是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!
網(wǎng)頁(yè)名稱:JavaScript中三種對(duì)象分別是什么
文章路徑:http://m.kartarina.com/article38/jecesp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制開(kāi)發(fā)、ChatGPT、外貿(mào)網(wǎng)站建設(shè)、微信小程序、App設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)