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