內(nèi)置對(duì)象:開(kāi)發(fā)人員不必顯式的實(shí)例化內(nèi)置對(duì)象,因?yàn)樗鼈円呀?jīng)實(shí)例化了
1. Global對(duì)象
(1) URL編碼方法
var uri = 'http://www.wrox.com/illegal value.html#start';
encodeURL():用于整個(gè)URL,不會(huì)對(duì)本身屬于URL的特殊字符進(jìn)行編碼,
比如冒號(hào)、正斜杠、問(wèn)號(hào)和井字號(hào);
encodeURL(uri) ==> "http://www.wrox.com/illegal%20value.html#start";
encodeURIComponent(): 會(huì)對(duì)它發(fā)現(xiàn)的任何非標(biāo)準(zhǔn)字符進(jìn)行編碼
encodeURIComponent(uri) ==>
"http%3A%2F%2Fwww.wrox.com%2Fillegal%20value.html%23start";
解碼:
decodeURI() 解碼 encodeURL()
decodeURIComponent() 解碼 encodeURIComponent()
escape()和unescape()已經(jīng)在第三版中被廢棄
(2) eval() 方法
當(dāng)解析器發(fā)現(xiàn)代碼中調(diào)用了eval()方法后,會(huì)將傳入的參數(shù)當(dāng)作實(shí)際的js語(yǔ)句來(lái)解析,
然后把執(zhí)行結(jié)果插入到原位置;
eval("alert('hi')") ==> hi
eval("function sayHi(){ alert('hi') }");
sayHi() ==> hi
eval()中創(chuàng)建的任何變量或函數(shù)都不會(huì)被提升,因?yàn)樵诮馕龃a的時(shí)候,它們被包含在一個(gè)字符串中;
它們只在eval()執(zhí)行時(shí)被創(chuàng)建;
嚴(yán)格模式下,外部訪問(wèn)不到eval()內(nèi)部創(chuàng)建的任何變量和函數(shù),為eval賦值也會(huì)報(bào)錯(cuò);
(3) Global 對(duì)象的屬性
Global對(duì)象所有屬性:
undefined, NaN, Infinity, Object, Array,
Function, Boolean, String, Number, Date,
RegExp, Error, EvalError, RangeError, ReferenceError,
SyntaxError, TypeError, URLError
(4) window對(duì)象
在全局作用域中聲明的所有變量和函數(shù),都是window對(duì)象的屬性;
Global+其他
2. Math()對(duì)象
(1) min()和max():確定一組數(shù)值中的最小值和最大值
Math.max(1,2,3,4) ==> 4
Math.min(1,2,3,4) ==> 1
找到數(shù)組中最大:Math.max.apply(Math, [1,2,3,4]) ==> 4
(2) 舍入方法
Math.ceil(): 向上舍入,將數(shù)值向上舍入為最接近的的整數(shù)
Math.ceil(25.9) ==> 26
Math.ceil(25.5) ==> 26
Math.ceil(25.1) ==> 26
Math.floor(): 向下舍入, 將數(shù)值向下舍入為最接近的整數(shù)
Math.floor(25.9) ==> 25
Math.floor(25.5) ==> 25
Math.floor(25.1) ==> 25
Math.round(): 標(biāo)準(zhǔn)四舍五入
Math.round(25.9) ==> 26
Math.round(25.5) ==> 26
Math.round(25.1) ==> 25
(3) random 方法
返回大于等于0小于1的一個(gè)隨機(jī)數(shù)
利用下面公式,可以在某個(gè)整數(shù)范圍內(nèi)隨機(jī)選擇一個(gè)值
值 = Math.floor(Math.random() * 可能值的總數(shù) + 第一個(gè)可能的值 )
比如: 返回1到10之間一個(gè)隨機(jī)整數(shù)
Math.floor(Math.random() * 10 + 1 ) ==> 3
實(shí)現(xiàn)兩個(gè)范圍之內(nèi)隨機(jī)數(shù)
function selectFrom(lowerValue, upperValue){
var choices = upperValue - lowerValue + 1;
return Math.floor(Math.random() * choices + lowerValue )
}
selectFrom(2,10)
var colors = ['red','blue','pick','white','black','brown'];
colors[selectFrom(0, colors.length - 1)]
(4) 其他方法:
Math.abs(num) ==> 求絕對(duì)值
其他不常用,咱不列出