JavaScript中三種對(duì)象分別是什么

本篇內(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ì)象

JS中,可以將對(duì)象分為“內(nèi)部對(duì)象”、“宿主對(duì)象”和“自定義對(duì)象”三種。

如圖所示:

JavaScript中三種對(duì)象分別是什么

內(nèi)部對(duì)象

⑴Number對(duì)象

JavaScript中三種對(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ì)象的方法

方法描述FFIE
search檢索與正則表達(dá)式相匹配的值。14
match找到一個(gè)或多個(gè)正則表達(dá)式的匹配。14
replace替換與正則表達(dá)式匹配的子串。14
split把字符串分割為字符串?dāng)?shù)組。14

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

JS宿主對(duì)象

⑴ 定義:宿主對(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等等

JS自定義對(duì)象

⑴對(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)

成都做網(wǎng)站
主站蜘蛛池模板: 亚洲中文字幕无码爆乳av中文| 亚洲AV色吊丝无码| 亚洲日韩精品A∨片无码| 国产午夜无码片在线观看 | 成人麻豆日韩在无码视频| 亚洲GV天堂GV无码男同 | 亚洲精品97久久中文字幕无码| 国产色爽免费无码视频| 亚洲成av人无码亚洲成av人| 国产成人无码专区| 亚洲中文字幕久久无码| 亚洲av永久无码精品漫画 | 中文字幕久久久人妻无码| yy111111少妇影院无码| 久久亚洲日韩看片无码| 国产午夜无码片免费| 无码精品人妻一区二区三区AV| 亚洲精品中文字幕无码AV| 亚洲日产无码中文字幕| 亚洲精品97久久中文字幕无码| 无码成人精品区在线观看| 亚洲Aⅴ无码专区在线观看q| 午夜成人无码福利免费视频| 免费看国产成年无码AV片| 无码人妻一区二区三区一| 久久人妻内射无码一区三区| 日韩综合无码一区二区| 国产网红主播无码精品| 无码专区6080yy国产电影| 性无码专区一色吊丝中文字幕| 精品久久久无码人妻中文字幕豆芽| 无码中文人妻视频2019| 日韩网红少妇无码视频香港| 国产精品多人p群无码| 亚洲Av无码专区国产乱码DVD | 亚洲中文字幕无码mv| 亚洲中文字幕久久精品无码VA| 精品三级AV无码一区| 亚洲av无码兔费综合| 亚洲AV无码专区在线厂| 少妇中文无码高清|