JavaScript的引用類型(六)--單體內(nèi)置對象

內(nèi)置對象的定義是:“由ECMAScript實現(xiàn)提供的、不依賴于宿主環(huán)境的對象,這些對象在ECMAScript程序執(zhí)行之前就已經(jīng)存在了”。

如:Object、Array、String、Global和Math等

Global對象:不屬于任何其他對象的屬性和方法,最終都是它的屬性和方法。(所有在全局作用域中定義的屬性和函數(shù),都是Global對象的屬性。如:isNAN()。isFinite()、parseInt()以及parseFloat()等都是Global對象的方法)

==>encodeURI()和encodeURIComponent()

==>decodeURI()和decodeURIComponent()

URI編碼是什么鬼???用于什么地方?

==>eval()方法(ECMAScript語言中最強(qiáng)大的一個方法)

eval()方法就像是一個完整的ECMAScript解析器,它只接收一個參數(shù),既要執(zhí)行的ECMAScript(或JavaScript)字符串。

當(dāng)解析器發(fā)中代碼中調(diào)用eval()方法時,它會將傳入的參數(shù)當(dāng)作實際的ECMAScript語句來解析,然后把執(zhí)行結(jié)果插入到原位置。

通過eval()執(zhí)行的代碼被認(rèn)為是包含該次調(diào)用的執(zhí)行環(huán)境的一部分,因此被執(zhí)行的代碼具有與該執(zhí)行環(huán)境相同的作用域鏈。

在eval()中穿件的任何變量或函數(shù)都不會被提升,因為在解析代碼的時候,它們被包含在一個字符串中;它們只在eval() 執(zhí)行的時候創(chuàng)建。(因此函數(shù)變量在eval()的聲明需要放在使用之前!!!)

嚴(yán)格模式下,在外部訪問不到eval()中創(chuàng)建的任何變量或函數(shù),因此前面兩個例子都會導(dǎo)致錯誤。

==>Global對象的屬性

==>window對象

JavaScript中的window對象除了扮演ECMAScript規(guī)定的Global對象的角色外,還承擔(dān)了很多別的任務(wù)。

另一種取得Global對象的方法:(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)

通過這樣簡單地返貨this來取得Global對象,在任何執(zhí)行環(huán)境下都是可行的。

以上代碼創(chuàng)建了一個立即調(diào)用的函數(shù)表達(dá)式,返回this的值。如前所述,在沒有給函數(shù)明確指定this值得情況下(無論是通過將函數(shù)添加為對象的方法,還是通過調(diào)用call()或apply()),this值等于Global對象。

==>Math對象

Math對象的屬性:

Math對象的方法:

min()、max()、ceil()、floor()、round()、random()和其它方法

-->min()用于確定一組數(shù)值中的最小值

-->max()用于確定一組數(shù)值中的最大值

==>!!!通過apply()方法找到數(shù)組中的最大或最小值

-->ceil()向上舍入最近的整數(shù)

-->floor()向下舍入最近的整數(shù)

-->round()四舍五入最近的整數(shù)

-->random()返回介于0~1之間的一個隨機(jī)數(shù),不包括你0和1。

超級公式!!!
[1,10]區(qū)間
[2,10]區(qū)間
selectFrom()函數(shù)用于隨機(jī)返回lowerValue和upperValue區(qū)間的隨機(jī)數(shù)

-->其他方法:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容