posts - 60,comments - 71,trackbacks - 0

              eval可以將字符串生成語(yǔ)句執(zhí)行,和SQL的exec()類似。 
          eval的使用場(chǎng)合是什么呢?有時(shí)候我們預(yù)先不知道要執(zhí)行什么語(yǔ)句,只有當(dāng)條件和參數(shù)給時(shí)才知道執(zhí)行什么語(yǔ)句,這時(shí)候eval就派上用場(chǎng)了。舉個(gè)例子: 
          我們要做一個(gè)function(),功能是輸入網(wǎng)頁(yè)中兩個(gè)個(gè)對(duì)象的名稱,然后程序就將這兩個(gè)對(duì)象的值聯(lián)接起來(lái)輸出。
          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不是對(duì)象”以及“document.all.b不是對(duì)象”。原來(lái)javascript把a(bǔ)和b當(dāng)成對(duì)象名稱了,怎樣能讓javascript把a(bǔ)里面的值作為對(duì)象名稱呢?這時(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 閱讀(243) 評(píng)論(0)  編輯  收藏 所屬分類: Jsp,Js,Ajax,Html技術(shù)
          主站蜘蛛池模板: 博乐市| 涞水县| 巴林右旗| 嵊州市| 资中县| 泸溪县| 英超| 星子县| 咸宁市| 新田县| 醴陵市| 苏州市| 大城县| 华池县| 汝阳县| 阿城市| 兴仁县| 托克托县| 洪江市| 关岭| 鄂托克前旗| 蒲城县| 浦江县| 宣恩县| 盐池县| 固安县| 松溪县| 吉安市| 定日县| 当雄县| 墨竹工卡县| 锡林浩特市| 池州市| 山东省| 宜兴市| 麟游县| 西畴县| 于都县| 崇礼县| 琼中| 上思县|