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