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

encodeURIComponent() 函數 (function) 用為將網址字串 (string) 參數 (parameter) 的特定符號進行編碼,特定符號有下列幾個字元

, / ? : @ & = + $ #


參數若是運算式 (expression) 則回傳運算式結果,若沒有參數則回傳 undefined ,另一個函數 decodeURIComponent() 可回復編碼過的字串。


舉例如下
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 n5 = document.createElement("p");
    var n6 = document.createElement("p");
    var o1 = document.createElement("p"); 
    var o2 = document.createElement("p"); 
    var o3 = document.createElement("p"); 
    var o4 = document.createElement("p");
    var o5 = document.createElement("p");
    var o6 = document.createElement("p");
    
    var t1 = encodeURIComponent("http://pydoing.blogspot.com/2010/06/c-overview.html");
    var t2 = encodeURIComponent("error.php?error=blogclose&id=Kai&ref=%2Fblog%2FKai");
    var t3 = encodeURIComponent("topicdetail.php?f=249&t=1978041&last=25474931");
    var t4 = encodeURIComponent("Hello, world!");
    var t5 = encodeURIComponent(33);
    var t6 = encodeURIComponent();
    
    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);
    n5.appendChild(document.createTextNode(t5));
    c.appendChild(n5);
    n6.appendChild(document.createTextNode(t6));
    c.appendChild(n6);
    
    var s1 = decodeURIComponent(t1);
    var s2 = decodeURIComponent(t2);
    var s3 = decodeURIComponent(t3);
    var s4 = decodeURIComponent(t4);
    var s5 = decodeURIComponent(t5);
    var s6 = decodeURIComponent(t6);
    
    o1.appendChild(document.createTextNode(s1));
    c.appendChild(o1);
    o2.appendChild(document.createTextNode(s2));
    c.appendChild(o2);
    o3.appendChild(document.createTextNode(s3));
    c.appendChild(o3);
    o4.appendChild(document.createTextNode(s4));
    c.appendChild(o4);
    o5.appendChild(document.createTextNode(s5));
    c.appendChild(o5);
    o6.appendChild(document.createTextNode(s6));
    c.appendChild(o6);
}


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


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

<head>
<title>JavaScript Demo</title>
<script src="run54.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/
     檔名:jsexample54.html
     功能:示範 JavaScript 程式 
     作者:張凱慶
     時間:西元 2010 年 11 月 -->


執行結果如下



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






沒有留言: