eval可以將字符串生成語句執(zhí)行,和SQL的exec()類似。
eval的使用場合是什么呢?有時(shí)候我們預(yù)先不知道要執(zhí)行什么語句,只有當(dāng)條件和參數(shù)給時(shí)才知道執(zhí)行什么語句,這時(shí)候eval就派上用場了。舉個(gè)例子:
我們要做一個(gè)function(),功能是輸入網(wǎng)頁中兩個(gè)個(gè)對象的名稱,然后程序就將這兩個(gè)對象的值聯(lián)接起來輸出。
function output(a,b)
{
var tmpa,tmpb;
tmpa=document.all.a.value;
tmpb=document.all.b.value;
document.write(tmpa+tmpb);
}
output('input1','input2');
這樣你執(zhí)行的時(shí)候就會(huì)提示錯(cuò)誤“document.all.a不是對象”以及“document.all.b不是對象”。原來javascript把a(bǔ)和b當(dāng)成對象名稱了,怎樣能讓javascript把a(bǔ)里面的值作為對象名稱呢?這時(shí)候就要用eval了,把代碼改成這樣:
function output(a,b)
{
var tmpa,tmpb;
tmpa=eval("document.all."+a+".value");
tmpb=eval("document.all."+b+".value");
document.write(tmpa+tmpb);
}
output('input1','input2');
這樣javascript就會(huì)先取出a,b的值,然后和前面的document.all.以及后面的.value組合運(yùn)行,于是就可以
順利取出input1和input2的值.
posted on 2008-06-22 15:35
henry1451 閱讀(242)
評論(0) 編輯 收藏 所屬分類:
Jsp,Js,Ajax,Html技術(shù)