單體內建物件

2021-07-23 02:31:11 字數 1967 閱讀 6027

內建物件的定義是:不依賴宿主環境的物件,這些物件在ecmscript程式執行之前就已經存在了。開發人員不必例項化,因為他們已經存在了。前面我們已經介紹了大多數內建物件,例如:objectarraystring

ecmscript定義了2個單體內建物件

所有的全域性作用域中定義的屬性和函式,都是global物件的屬性

eval("alert('hellow word')");

//上面這行**的作用等價於下面這行**:

alert('hellow word');

當解析器發現**中呼叫eval()方法時,它會將傳入的引數當做實際的ecmscript語句來解析,然後把執行的結果插入到原來的位置。通過eval()執行的**被認為是包含該次呼叫的執行環境的一部分,因此被執行的**具有與該執行環境相同的作用域,這意味著通過eval()執行的**可以引用在包含環境中定義的變數,舉個例子:

var msg='hellow world';

eval("alert(msg)");

eval()中建立的任何變數或函式都不會被提公升,因為再解析**的時候,它們被包含在乙個字串中,它們只在eval()執行的時候建立

eval()解析字串的功能非常強大,但同時也非常危險

1、常用的方法

方法屬性

math.min()

求最小數

math.max()

求最大數

math.ceil()

向上取整

math.floor()

向下取整

math.round()

四捨五入

math.randow()

返回乙個大於等於0小於1的隨機數

利用math.randow()可隨機生成某個整數範圍內的數值,公式:

值=math.floor(math.random()*可能的得總數+第乙個可能的值)

取值範圍【start,end】,可能值得總數=end-star 第乙個可能的值=start

例、隨機生成22-69之間的數字

//可能值得總數=69-22,第乙個可能的值22

console.log(math.floor(math.random()*47+22));

2、其他方法

方法說明

math.abc(num)

返回num的絕對值

math.exp(num)

返回math.e的num次冪

math.log(num)

返回num的自然對數

math.pow(num,power)

返回num的power次冪

math.sqrt(num)

返回num的平方根

math.acos(x)

返回x的反余弦值

math.asin(x)

返回x的反正弦值

math.atan(x)

返回x的反正切值

math.atan2(y,x)

返回y/x的反正切值

math.cos(x)

返回x的余弦值

math.sin(x)

返回x的正弦值

math.tan(x)

返回x的正切值

在所有的**執行之前,作用域中就已經存在兩個內建物件:global和math。在大多數ecmascript視線中都不能直接訪問global物件;不過,web瀏覽器實現了承擔該角色的window物件。全域性變數和函式都是global物件的屬性。math物件提供了很多屬性和方法,用於輔助完成複雜的數學計算任務

單體內建物件 單體內建物件

1 global物件 所有全域性作用域定義的屬性與函式,都是global物件的屬性。1.1 uri編碼方法 encodeuri 不會對本身屬於uri的特殊符號進行編碼。uri解碼方法 decodeuri 只能對使用encodeuri 替換的字元進行解碼 decodeuricomponent 能夠解碼...

單體內建物件 單體內建物件

內建物件 由ecmascript實現提供的,不依賴宿主環境的物件,這些物件再es程式執行之前就已經存在 global物件 global全域性物件是乙個特別的物件 兜底物件 不屬於其他物件的屬性和方法,都屬於global物件。如 isnan isfinite parseint parsefloat 註...

單體內建物件 單體內建物件

ecmascript 262對內建物件的定義是 由ecmascript實現提供的,不依賴於宿主環境的物件,這些物件在ecmascript程式執行之前就已經存在了。意思就是說,開發人員不必顯示地例項化內建物件,因為它們已經例項化了。如object,array,string。ecmascript還定義了...