-
編碼處理函數(shù)
???????? 1) encodeURI
???????????????? 返回一個對URI字符串編碼后的結(jié)果。URL是最常見的一種URI;
?????????2) decodeURI
?????????????????將一個已編碼的URI字符串解碼成最原始的字符串返回;
?????????3)? 舉例:
<
Script?language
=
"
javascript
"
>
<!--
var
?encodeStr?
=
?encodeURI(
"
http://www.amigoxie.com/index.jsp?name=阿蜜果
"
);
alert(
"
encodeStr:?
"
?
+
?encodeStr);
var
?decodeStr?
=
?decodeURI(encodeStr);
alert(
"
decodeStr:?
"
?
+
?decodeStr);
//
-->
</
script
>
????? 輸出結(jié)果如下:
???? encodeStr:?
http://www.amigoxie.com/index.jsp?name=%E9%98%BF%E8%9C%9C%E6%9E%9C????
decodeStr:? http://www.amigoxie.com/index.jsp?name=阿蜜果
?? 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í)行.
//定義JavaScript對象的幾種格式
// Method 1: flat array style quick object define
var myObject = {
username : "beansoft",
age : 24,
test : function() {alert(this.age);}
};
// Method 2: using Object
var myObject = new Object();
myObject.username = "beansoft";
myObject.age = 24;
// Method 3: using constructor
function MyObject(username, age) {
this.username = username;
this.age = age;
this.test = function() {alert(this.age);};
}
var myObject = new MyObject("beansoft", 24);
// Using: myObject.username, myObject["username"], myObject[0]
myObject.test();// Will display alert window, value is age
myObject.username = "Hello";// Will asign the username property to "Hello"??
??
語法
with (object)
statement
with 語句的語法組成如下:
部分 描述
object 新的默認對象。
statement 一個語句,object 是該語句的默認對象。可以是復(fù)合語句。
說明
with 語句通常用來縮短特定情形下必須寫的代碼量。在下面的例子中,請注意 Math 的重復(fù)使用:
x = Math.cos(3 * Math.PI) + Math.sin(Math.LN10)
y = Math.tan(14 * Math.E)
當使用 with 語句時,代碼變得更短且更易讀:
with (Math)
{
x = cos(3 * PI) + sin (LN10)
y = tan(14 * E)
}
當我們操作一個很長的對象的時候, 可以減少一點代碼量, 例如:
with(someobj.style) {
dispaly = 'none';
}?