歡迎使用我的 在線工具

          小D

          讀歷史、看小說、寫程序都是我所愛。技術不好,頭腦不靈光,靠的是興趣。
          隨筆 - 35, 文章 - 25, 評論 - 13, 引用 - 0
          數據加載中……

          使用eval參數進行JS函數調用

          使用JS 中的eval函數,可以將JS字符串作為JS表達式進行執行。

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


           function f(num,callback){                                
               //eval()函數,這個函數可以把一個字符串當作一個JavaScript表達式一樣去執行它。                                       
               eval(callback+"('"+num +"')");

           

          再定義一個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>無標題文檔</title>
          <script type="text/javascript">
          function dosome(num){
              if(num) alert("未及格!"); 
              else
              if(num<=90) alert("該生成績優良!");
                 else alert("該生成績優秀!"); 
          }

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

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

          然后打開test.html,可以看到我們調用了傳過去的dosome()函數,使用eval函數必須保證字符串表示的JS表達式,在當前頁面有效。

          我們可以通過幀的方式來用eval執行任意可訪問的幀的JS代碼。也可以通過打開子窗體的方式,是父窗體和子窗體的JS代碼能夠相互調用,

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

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

          評論

          # re: 使用eval參數進行JS函數調用  回復  更多評論   

          的薩菲
          2013-09-26 16:11 | 十大
          主站蜘蛛池模板: 汤阴县| 泰宁县| 镇巴县| 崇仁县| 土默特右旗| 华亭县| 白河县| 天台县| 绥滨县| 望城县| 温宿县| 潜山县| 南雄市| 河北区| 满洲里市| 赤水市| 正宁县| 介休市| 黎城县| 长海县| 扎赉特旗| 磴口县| 墨竹工卡县| 闻喜县| 砚山县| 恩平市| 鄂尔多斯市| 顺义区| 色达县| 沈丘县| 乐亭县| 体育| 响水县| 曲水县| 汕尾市| 民勤县| 固安县| 济南市| 城固县| 沧源| 林甸县|