JavaScript的系統(tǒng)函數(shù)研究
更新時(shí)間:2012-01-16 | 發(fā)布人:本站 | 點(diǎn)擊率:406 次
1.編碼處理函數(shù)
1) encodeURI
返回一個(gè)對(duì)URI字符串編碼后的結(jié)果。URL是最常見(jiàn)的一種URI;
2) decodeURI
將一個(gè)已編碼的URI字符串解碼成最原始的字符串返回;
3) 舉例:
<Script language = " javascript ">
<!--
var encodeStr = encodeURI( "http://www.qpsh.com/seach.asp?k=網(wǎng)頁(yè)特效" );
alert( " encodeStr: " + encodeStr);
var decodeStr = decodeURI(encodeStr);
alert( " decodeStr: " + decodeStr);
// -->
</script> 輸出結(jié)果如下:
encodeStr: http://www.qpsh.com/seach.asp?k=%E9%98%BF%E8%9C%9C%E6%9E%9C
decodeStr: http://www.qpsh.com/seach.asp?k=網(wǎng)頁(yè)特效
2. 數(shù)值處理函數(shù)
1) parseInt
將一個(gè)字符串指定的進(jìn)制轉(zhuǎn)換為一個(gè)整數(shù),語(yǔ)法格式為:
parseInt(numString, [radix])
第一個(gè)參數(shù)是要進(jìn)行轉(zhuǎn)換的字符串,是介于2到36之間的數(shù)值,用于指定進(jìn)行字符串轉(zhuǎn)換時(shí)所用的進(jìn)制。
舉例如下: <Script language="javascript">
<!--
//下面是同一個(gè)數(shù)用不同進(jìn)制表示時(shí)在默認(rèn)情況下的舉例
document.write("默認(rèn)情況下的結(jié)果:");
document.write("32:"+parseInt('32'));
document.write(";032:"+parseInt('032'));
document.write(";0x32:"+parseInt('0x32')+"<br>");
//下面是同一個(gè)數(shù)用不同進(jìn)制表示時(shí)在轉(zhuǎn)為2進(jìn)制的舉例
document.write("轉(zhuǎn)為2進(jìn)制的結(jié)果:");
document.write("32:"+parseInt('32',2));
document.write(";032:"+parseInt('032',2));
document.write(";0x32:"+parseInt('0x32',2)+"<br>");
//下面是同一個(gè)數(shù)用不同進(jìn)制表示時(shí)在轉(zhuǎn)為8進(jìn)制的舉例
document.write("轉(zhuǎn)為8進(jìn)制的結(jié)果:");
document.write("32:"+parseInt('32',8));
document.write(";032:"+parseInt('032',8));
document.write(";0x32:"+parseInt('0x32',8)+"<br>");
//下面是同一個(gè)數(shù)用不同進(jìn)制表示時(shí)在轉(zhuǎn)為16進(jìn)制的舉例
document.write("轉(zhuǎn)為16進(jìn)制的結(jié)果:");
document.write("32:"+parseInt('32',16));
document.write(";032:"+parseInt('032',16));
document.write(";0x32:"+parseInt('0x32',16)+"<p>");
//下面是對(duì)一個(gè)2進(jìn)制數(shù)轉(zhuǎn)換為不同進(jìn)制的舉例
document.write("11001010轉(zhuǎn)換后的結(jié)果: "+"<br>");
document.write("2進(jìn)制:"+parseInt('11001010',2));
document.write(";16進(jìn)制:"+parseInt('11001010',16)+"<br>");
document.write("8進(jìn)制:"+parseInt('11001010',8));
document.write(";10進(jìn)制:"+parseInt('11001010',10));
//下面是對(duì)不全是數(shù)字情況下轉(zhuǎn)換的舉例
document.write("<p>43abc轉(zhuǎn)換后:"+parseInt('43abc'));
document.write(";abc43轉(zhuǎn)換后:"+parseInt('abc43'));
document.write(";abc轉(zhuǎn)換后:"+parseInt('abc'));
//-->
</script> 輸出結(jié)果如下:
默認(rèn)情況下的結(jié)果:32:32;032:26;0x32:50
轉(zhuǎn)為2進(jìn)制的結(jié)果:32:NaN;032:0;0x32:0
轉(zhuǎn)為8進(jìn)制的結(jié)果:32:26;032:26;0x32:0
轉(zhuǎn)為16進(jìn)制的結(jié)果:32:50;032:50;0x32:50
11001010轉(zhuǎn)換后的結(jié)果:
2進(jìn)制:202;16進(jìn)制:285216784
8進(jìn)制:2359816;10進(jìn)制:11001010
43abc轉(zhuǎn)換后:43;abc43轉(zhuǎn)換后:NaN;abc轉(zhuǎn)換后:NaN
2) parseFloat方法
該方法將一個(gè)字符串轉(zhuǎn)換成對(duì)應(yīng)的小數(shù)。
eg.
<Script language="javascript">
<!--
var floatStr = "4.1";
alert((floatStr + 1) + "\n");
alert(parseFloat(floatStr) + 1);
//-->
</script> 輸出結(jié)果如下:
4.11
5.1
3) isNaN方法
該方法用于檢測(cè)前兩個(gè)方法返回值是否為非數(shù)值型,如果是,返回true,否則,反回false。
eg.
<Script language="javascript">
<!--
var loginName = parseInt('amigo1121');
if(isNaN(loginName)) {
//如果loginName不是數(shù)值,執(zhí)行如下語(yǔ)句
alert("parseInt('amigo1121')的結(jié)果是: " + loginName);
} else {
alert("parseInt('amigo1121')的結(jié)果是數(shù)值!");
}
//-->
</script> 輸出結(jié)果如下:
parseInt('amigo1121')的結(jié)果是: NaN
3 字符串編碼處理函數(shù)
1) escape方法
該方法返回對(duì)一個(gè)字符串編碼后的結(jié)果字符串,所有空格, 標(biāo)點(diǎn), 重音符號(hào)以及任何其他非ASCII碼字符都用%xx編碼替換,其中xx等于表示該字符的Unicode編碼的十六進(jìn)制數(shù).空格返回為"%20", 字符值大于255的字符以%xxxx格式存儲(chǔ).
eg. <Script language="javascript">
<!--
var test = escape("am ^_^ igo");
alert("am ^_^ igo經(jīng)escape方法處理后為: " + test);
//-->
</script> 輸出為: am ^_^ igo經(jīng)escape方法處理后為: am%20%5E_%5E%20igo
2) unescape方法
該方法將一個(gè)用escape方法編碼的結(jié)果字符串解碼成原始字符串.
eg. <Script language="javascript">
<!--
var test = escape("am ^_^ igo");
var unescapeStr = unescape(test);
alert("unescapeStr: " + unescapeStr);
//-->
</script> 輸出結(jié)果為: am ^_^ igo
3) eval方法
該方法將某個(gè)參數(shù)字符串作為一個(gè)JavaScript執(zhí)行.