首頁  >  文章  >  web前端  >  JavaScript中有哪三種對象

JavaScript中有哪三種對象

青灯夜游
青灯夜游原創
2021-06-15 16:40:573385瀏覽

JavaScript中的三種對象:1、內部(置)對象,如Array,Boolean,Data,Math,Number,Object,RegExp,String對像等;2、宿主對象,即執行JS腳本的環境提供的對象;3、自訂對象。

JavaScript中有哪三種對象

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦

JS三種物件

JS中,可以將物件分為「內部物件」、「宿主物件」、「自訂物件」三種。

如圖所示:

 

內部物件

##⑴Number物件

⑵Math:內建物件

Math 物件屬性

屬性描述#E 傳回算術常數e,也就是自然對數的底數(約等於2.718)。 LN2傳回 2 的自然對數(約等於0.693)。 LN10傳回 10 的自然對數(約等於2.302)。 LOG2E傳回以 2 為底的 e 的對數(約等於 1.4426950408889634)。 LOG10E傳回以 10 為底的 e 的對數(約等於0.434)。 PI傳回圓周率(約等於3.14159)。 SQRT1_2傳回 2 的平方根的倒數(約等於 0.707)。 SQRT2傳回 2 的平方根(約等於 1.414)。

Math 物件方法

方法描述abs(x)傳回x 的絕對值。 acos(x)傳回 x 的反餘弦值。 asin(x)傳回 x 的反正弦值。 atan(x)以介於 -PI/2 與 PI/2 弧度之間的數值來傳回 x 的反正切值。 atan2(y,x)傳回從x 軸到點(x,y) 的角度(介於-PI/2 與PI/2 弧度之間)。 ceil(x)對數進行上捨入。 cos(x)傳回數的餘弦。 exp(x)傳回 Ex 的指數。 floor(x)對 x 進行下捨入。 log(x)傳回數的自然對數(底為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 之​​間的隨機數。 round(x)四捨五入。 sin(x)傳回數的正弦。 sqrt(x) 傳回數的平方根。 tan(x)傳回角的正切。

⑶Boolean 物件

Boolean 物件屬性

屬性描述constructor傳回對建立此物件的Boolean 函數的參考prototype使您有能力為物件新增屬性和方法。
 

Boolean 物件方法

方法說明toString()把布林值轉換為字串,並傳回結果。 valueOf() 傳回 Boolean 物件的原始值。

 ⑷String物件

String 物件屬性

屬性描述constructor對建立該物件的函數的參考length字串的長度prototype允許您向物件新增屬性和方法

 String 物件方法

##charAt() 傳回指定位置的字元。 charCodeAt()傳回指定的位置的字元的 Unicode 編碼。 concat()連接兩個或更多字串,並傳回新的字串。 fromCharCode()將 Unicode 編碼轉換為字元。 indexOf()傳回某個指定的字串值在字串中首次出現的位置。 includes()尋找字串中是否包含指定的子字串。 lastIndexOf()從後向前搜尋字串,並從起始位置(0)開始計算回傳字串最後出現的位置。 match()尋找找到一個或多個正規表示式的符合。 repeat()複製字串指定次數,並將它們連接在一起傳回。 replace()在字串中尋找符合的子字串, 並取代與正規表示式相符的子字串。 search()尋找與正規表示式相符的值。 slice()提取字串的片段,並在新的字串中傳回被提取的部分。 split()把字串分割成字串陣列。 startsWith()查看字串是否以指定的子字串開頭。 substr()從起始索引號擷取字串中指定數目的字元。 substring()會擷取字串中兩個指定的索引號之間的字元。 toLowerCase()把字串轉換成小寫。 toUpperCase()把字串轉換為大寫。 trim()移除字串兩邊的空白toLocaleLowerCase()根據本地主機的語言環境把字串轉換為小寫。 toLocaleUpperCase()根據本機的語言環境將字串轉換為大寫。 valueOf()傳回某個字串物件的原始值。 toString()傳回一個字串。
方法 描述

 ⑸RegExp物件

RegExp 物件方法

方法compileexec
描述
在1.5 版本中已廢棄。 編譯正規表示式。
檢索字串中指定的值。傳回找到的值,並確定其位置。

test檢索字串中指定的值。傳回 true 或 false。 描述擷取與正規表示式相符的值。 找到一個或多個正規表示式的符合。 取代與正規表示式相符的子字串。
toString 傳回正規表示式的字串。
 支援正規表示式的String 物件的方法 方法
FF IE search
1 4 match
1 4 replace
1

4

split4#RegExp 物件屬性##屬性描述constructor#傳回一個函數,該函數是一個建立RegExp 物件的原型。 global判斷是否設定了"g" 修飾符ignoreCase## 判斷是否設定了"i" 修飾符用於規定下次符合的起始位置
將字串分割成字串陣列。 1
lastIndex

multiline判斷是否設定了"m" 修飾符

source

#傳回正規表示式的匹配模式 ⑹Global:內建物件
JavaScript 全域屬性
###############################################################################################################################################屬性######描述############Infinity######代表正的無窮大的數值。 ############NaN######指示某個值是不是數字值。 ############undefined######指示未定義的值。 ############

 JavaScript 全域函數

##decodeURI() 解碼某個編碼的URI。 decodeURIComponent()解碼一個編碼的 URI 元件。 encodeURI()把字串編碼為 URI。 encodeURIComponent()把字串編碼為 URI 元件。 escape()對字串進行編碼。 eval()計算 JavaScript 字串,並將它當作腳本程式碼來執行。 isFinite()檢查某個值是否為有窮大的數。 isNaN()檢查某個值是否是數字。 Number()把物件的值轉換成數字。 parseFloat()解析一個字串並傳回一個浮點數。 parseInt()解析一個字串並傳回一個整數。 String()把物件的值轉換成字串。 unescape()對由 escape() 編碼的字串進行解碼。
函數 描述

 ⑺Date物件

Date 物件屬性

######屬性######描述############constructor######傳回對建立此物件的Date 函數的參考。 ############prototype######使您有能力為物件新增屬性和方法。 ############

 Date 物件方法

##getDate() 從Date 物件傳回一個月中的某一天(1 ~ 31)。 getDay()從 Date 物件傳回一週中的某一天 (0 ~ 6)。 getFullYear()從 Date 物件以四位數傳回年份。 getHours()傳回 Date 物件的小時 (0 ~ 23)。 getMilliseconds()傳回 Date 物件的毫秒(0 ~ 999)。 getMinutes()返回 Date 物件的分鐘 (0 ~ 59)。 getMonth()從 Date 物件傳回月份 (0 ~ 11)。 getSeconds()傳回 Date 物件的秒數 (0 ~ 59)。 getTime()傳回 1970 年 1 月 1 日至今的毫秒數。 getTimezoneOffset()傳回本地時間與格林威治標準時間 (GMT) 的分鐘差。 getUTCDate()根據世界時從 Date 物件返回月中的一天 (1 ~ 31)。 getUTCDay()根據世界時從 Date 物件返回週中的一天 (0 ~ 6)。 getUTCFullYear()根據世界時從 Date 物件傳回四位數的年份。 getUTCHours()根據世界時傳回 Date 物件的小時 (0 ~ 23)。 getUTCMilliseconds()根據世界時傳回 Date 物件的毫秒(0 ~ 999)。 getUTCMinutes()根據世界時傳回 Date 物件的分鐘 (0 ~ 59)。 getUTCMonth()根據世界時從 Date 物件傳回月份 (0 ~ 11)。 getUTCSeconds()根據世界時傳回 Date 物件的秒鐘 (0 ~ 59)。 getYear()已被廢棄。 請使用 getFullYear() 方法代替。 parse()傳回1970年1月1日午夜到指定日期(字串)的毫秒數。 setDate()設定 Date 物件中月的某一天 (1 ~ 31)。 setFullYear()設定 Date 物件中的年份(四位數字)。 setHours()設定 Date 物件中的小時 (0 ~ 23)。 setMilliseconds()設定 Date 物件中的毫秒 (0 ~ 999)。 setMinutes()設定 Date 物件中的分鐘 (0 ~ 59)。 setMonth()設定 Date 物件中月份 (0 ~ 11)。 setSeconds()設定 Date 物件中的秒鐘 (0 ~ 59)。 setTime()setTime() 方法以毫秒設定 Date 物件。 setUTCDate()根據世界時設定 Date 物件中月份的一天 (1 ~ 31)。 setUTCFullYear()根據世界時設定 Date 物件中的年份(四位數字)。 setUTCHours()根據世界時設定 Date 物件中的小時 (0 ~ 23)。 setUTCMilliseconds()根據世界時設定 Date 物件中的毫秒 (0 ~ 999)。 setUTCMinutes()根據世界時設定 Date 物件中的分鐘 (0 ~ 59)。 setUTCMonth()根據世界時設定 Date 物件中的月份 (0 ~ 11)。 setUTCSeconds()setUTCSeconds() 方法用於根據世界時 (UTC) 設定指定時間的秒字段。 setYear()已被廢棄。請使用 setFullYear() 方法代替。 toDateString()把 Date 物件的日期部分轉換為字串。 toGMTString()已被廢棄。請使用 toUTCString() 方法代替。 toISOString()使用 ISO 標準傳回字串的日期格式。 toJSON()以 JSON 資料格式傳回日期字串。 toLocaleDateString()根據本地時間格式,把 Date 物件的日期部分轉換成字串。 toLocaleTimeString()根據本機時間格式,把 Date 物件的時間部分轉換成字串。 toLocaleString()根據本機時間格式,把 Date 物件轉換為字串。 toString()把 Date 物件轉換為字串。 toTimeString()把 Date 物件的時間部分轉換為字串。 toUTCString()UTC()根據世界時傳回 1970 年 1 月 1 日 到指定日期的毫秒數。 valueOf() 傳回 Date 物件的原始值。

⑻Object物件

#⑼Array物件

⑽Function物件

#各種錯誤類別物件:

⑴Error

⑵EvalError

⑶RangeError

⑷ReferenceError

⑸SyntaxError

⑹TypeError

JS宿主物件

⑴ 定義:宿主物件就是執行JS腳本的環境提供的物件。 ⑵ 瀏覽器對象:對於嵌入網頁的JS來說,其宿主對象就是瀏覽器提供的對象,所以又稱為瀏覽器對象,如IE、Firefox等瀏覽器提供的對象。

###⑶ 注意:不同的瀏覽器提供的宿主物件可能不同,即使提供的物件相同,其實作方式也大不相同!這會帶來瀏覽器相容問題,增加開發難度。 ######⑷ 宿主物件範例:window,navigator,document等等######⑸ 瀏覽器擴充物件:Active,XML,Debug,Script,VBArray等等########## JS自訂對象############⑴對象字面量方式(透過JSON來創建對象)#########缺點:使用同一個介面創建很多對象,會產生大量的重複程式碼。 #########⑵工廠模式。 #########①工廠模式就是將創建對象的語句放在一個函數裡,透過傳入參數來建立特定對象,最後返回創建的對象。 ######    函數createPerson()能夠根據接受到的參數來建構一個包含所有必要資訊的Person物件。 ######    可以無數次的呼叫這個函數,而每次它都會回傳一個包含2個屬性和一個方法的物件。 ######②缺點:工廠模式雖然可以創建多個相似的對象,但卻無法解決對象標識的問題,即如何知道一個對象的類型。 #########⑶建構子模式#########①缺點:使用建構子的主要問題是:每個方法都要在每個實例上建立一遍。 ######②在ECMAScript中,函數即對象,因此每定義一個函數,也就是實例化了一個物件。 ######③也就是說透過建構函式實例化的多個物件的方法,是多個不同的方法,但它們內部的程式碼以及實現的功能是相同的,這就造成了一定的資源浪費。 #########⑷原型模式#########①js中,每個函數都有一個prototype屬性,它是一個指針,指向一個對象,叫做原型對象。 ######②使用原型模式可以讓所有的實例共享原型物件中的屬性和方法,也就是說,不必再建構函式中定義物件實例的資訊。 ######③缺點:省略了為建構函式傳遞初始化參數這一環節,結果所有實例在預設情況下都會取得相同的屬性值。 ######          原型模式的最大問題是由共享的本質所造成的。原型中所有屬性是許多實例共享的######          此共享對於函數非常適合。對於包含引用類型的屬性來說,問題就比較突出了。 ######④因此,很少單獨使用原型模式。 #########⑸組合使用建構函式模式和原型模式#########①組合使用建構函式模式和原型模式,是建立自訂類型最常見的方式。 ######②建構子模式用於定義實例屬性,而原型模式用於定義方法和共享的屬性。 ######③結果,每個實例都會有自己的一份實例屬性的副本,但同時又共享著對方法的引用,最大限度的節省了記憶體。 #########⑹其他模式#########①動態原型模式:僅在第一次呼叫建構函式時,將方法賦給原型物件的對應屬性,其他範例的處理方式同建構函式模式######②寄生建構函式模式:僅封裝建立物件的程式碼,然後再傳回新建立的對象,仍使用new運算元呼叫######③穩妥建構函式模式:沒有公有屬性,只有私有變數和方法,以及一些get/set方法,用來處理私有變數。 #########更多程式相關知識,請造訪:###程式設計入門###! ! ###
#方法 說明
根據世界時,把 Date 物件轉換為字串。

實例:

var today = new Date();var UTCstring = today.toUTCString();

以上是JavaScript中有哪三種對象的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn