內建物件的定義是:不依賴宿主環境的物件,這些物件在ecmscript程式執行之前就已經存在了。開發人員不必例項化,因為他們已經存在了。前面我們已經介紹了大多數內建物件,例如:object
、array
、string
。
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還定義了...