歡迎使用我的 在線工具

          小D

          讀歷史、看小說(shuō)、寫(xiě)程序都是我所愛(ài)。技術(shù)不好,頭腦不靈光,靠的是興趣。
          隨筆 - 35, 文章 - 25, 評(píng)論 - 13, 引用 - 0
          數(shù)據(jù)加載中……

          使用eval參數(shù)進(jìn)行JS函數(shù)調(diào)用

          使用JS 中的eval函數(shù),可以將JS字符串作為JS表達(dá)式進(jìn)行執(zhí)行。

          將下列JS代碼保存為1.js


           function f(num,callback){                                
               //eval()函數(shù),這個(gè)函數(shù)可以把一個(gè)字符串當(dāng)作一個(gè)JavaScript表達(dá)式一樣去執(zhí)行它。                                       
               eval(callback+"('"+num +"')");

           

          再定義一個(gè)test.html,保存到和1.js相同的目錄

          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
          <script src="1.js" type="text/javascript"><script>
          <title>無(wú)標(biāo)題文檔</title>
          <script type="text/javascript">
          function dosome(num){
              if(num) alert("未及格!"); 
              else
              if(num<=90) alert("該生成績(jī)優(yōu)良!");
                 else alert("該生成績(jī)優(yōu)秀!"); 
          }

          function test(){ 
              var num = document.getElementById("score").value; 
              f(num,"dosome");

          </script>
          </head>
          <body>
          <p>
          eval示例:
          </p>
          請(qǐng)輸入學(xué)生成績(jī)
          <input  type="text" id="score"\>
                                                  
          <input type="button" onClick="test()" value=" 看看結(jié)果">
                                                  
          </body>
          </html>

          然后打開(kāi)test.html,可以看到我們調(diào)用了傳過(guò)去的dosome()函數(shù),使用eval函數(shù)必須保證字符串表示的JS表達(dá)式,在當(dāng)前頁(yè)面有效。

          我們可以通過(guò)幀的方式來(lái)用eval執(zhí)行任意可訪問(wèn)的幀的JS代碼。也可以通過(guò)打開(kāi)子窗體的方式,是父窗體和子窗體的JS代碼能夠相互調(diào)用,

          而且我們只要傳入函數(shù)名字符串(無(wú)論何種方式,不如通過(guò)url參數(shù)的方式),調(diào)用者無(wú)需知道調(diào)用的函數(shù)的名稱,只要得到函數(shù)名字符串,即可調(diào)用,所以比較靈活。

          posted on 2011-04-06 14:46 vagasnail 閱讀(6309) 評(píng)論(1)  編輯  收藏 所屬分類: js

          評(píng)論

          # re: 使用eval參數(shù)進(jìn)行JS函數(shù)調(diào)用  回復(fù)  更多評(píng)論   

          的薩菲
          2013-09-26 16:11 | 十大
          主站蜘蛛池模板: 怀来县| 定日县| 同仁县| 永安市| 瑞昌市| 额济纳旗| 子长县| 庆云县| 二手房| 临武县| 双城市| 涡阳县| 郑州市| 日喀则市| 西盟| 杭锦旗| 聂荣县| 庆阳市| 韩城市| 丹凤县| 盈江县| 德保县| 宁德市| 定襄县| 云龙县| 武陟县| 遂川县| 武邑县| 仁寿县| 绥棱县| 巴中市| 绥滨县| 巴塘县| 巴彦县| 荣昌县| 兰西县| 微山县| 宜兰市| 汝州市| 洞口县| 东方市|