內(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對象的方法:(!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)

以上代碼創(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ù)值中的最大值


-->ceil()向上舍入最近的整數(shù)
-->floor()向下舍入最近的整數(shù)
-->round()四舍五入最近的整數(shù)

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





-->其他方法:
