溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript中三種對象分別是什么

發布時間:2021-06-15 17:08:52 來源:億速云 閱讀:278 作者:chen 欄目:web開發

本篇內容介紹了“JavaScript中三種對象分別是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

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

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

JS三種對象

JS中,可以將對象分為“內部對象”、“宿主對象”和“自定義對象”三種。

如圖所示:

JavaScript中三種對象分別是什么

內部對象

⑴Number對象

JavaScript中三種對象分別是什么

⑵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 對象方法

方法描述
compile在 1.5 版本中已廢棄。 編譯正則表達式。
exec檢索字符串中指定的值。返回找到的值,并確定其位置。
test檢索字符串中指定的值。返回 true 或 false。
toString返回正則表達式的字符串。

支持正則表達式的 String 對象的方法

方法描述FFIE
search檢索與正則表達式相匹配的值。14
match找到一個或多個正則表達式的匹配。14
replace替換與正則表達式匹配的子串。14
split把字符串分割為字符串數組。14

RegExp 對象屬性

屬性描述
constructor返回一個函數,該函數是一個創建 RegExp 對象的原型。
global判斷是否設置了 "g" 修飾符
ignoreCase判斷是否設置了 "i" 修飾符
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()

根據世界時,把 Date 對象轉換為字符串。

實例:

var today = new Date();var UTCstring = today.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方法,用以處理私有變量。

“JavaScript中三種對象分別是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女