JavaScript 快速導覽 - 內建 eval() 函數

eval() 函數 (function) 用為解析參數 (parameter) ,若參數為運算式 (expression) ,就回傳運算結果,若參數為字串 (string) ,字串內可以是運算式或是其他有效的陳述 (statement) ,如果沒有提供參數, eval() 回傳 undefined



以下程式示範 eval() 使用運算式為參數
function run() {
    var c = document.getElementById("content");
    var n1 = document.createElement("p"); 
    var n2 = document.createElement("p"); 
    var n3 = document.createElement("p"); 
    var n4 = document.createElement("p");
    
    var t1 = eval("3 + 3");
    var t2 = eval("3 * 3");
    var t3 = eval(27 - 19);
    var t4 = eval();
    
    n1.appendChild(document.createTextNode(t1));
    c.appendChild(n1);
    n2.appendChild(document.createTextNode(t2));
    c.appendChild(n2);
    n3.appendChild(document.createTextNode(t3));
    c.appendChild(n3);
    n4.appendChild(document.createTextNode(t4));
    c.appendChild(n4);
}


/* 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:run46.js
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 */


利用以下的 HTML 文件開啟
<html>

<head>
<title>JavaScript Demo</title>
<script src="run46.js" type="text/javascript"></script>
</head>

<body>
<input id="b" type="button" value="RUN" onclick="run();">
<div id="content"></div>
</body>

</html>

<!-- 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:jsexample46.html
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 -->


執行結果如下



以下程式示範 eval() 使用多個陳述為參數
function run() {
    eval("var i=0;while (i<6){document.write(i);i++;}");
}


/* 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:run47.js
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 */


利用以下的 HTML 文件開啟
<html>

<head>
<title>JavaScript Demo</title>
<script src="run47.js" type="text/javascript"></script>
</head>

<body>
<input id="b" type="button" value="RUN" onclick="run();">
<div id="content"></div>
</body>

</html>

<!-- 《程式語言教學誌》的範例程式
     http://pydoing.blogspot.com/
     檔名:jsexample47.html
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 -->


執行結果如下



中英文術語對照
函數function
參數parameter
運算式expression
字串string
陳述statement






沒有留言: