[HTML]利用輸出字串拼砌字串樹

上午11:11 0 個留言

      這是將字串break後輸出的source
<html>
<body>
<center><h3> seeseesky (40) </h3>
<form name="F1">
  Input a string <input type=text name="T1"><br><br>
  <input type=button value="assign" onClick="B1();">
</form>
<script language="javascript">
  function B1() {
    a = F1.T1.value
    for (i = 0; i<a.length ; i++) {
       document.writeln ( a.charAt(i) + "<br>")
    }
  }
</script>
</body>
</html>


輸入123456後按assign,就會看到以下輸出
1
2
3
4
5
6
原理解述:
function B1() {                            <-- 當你按下B1按鈕(即是assign)
a = F1.T1.value                        <—將 F1中 T1的字串儲存到variable “a”
for (i = 0; i<a.length ; i++)    <—”For” loop 條件:一開始,i = 0,如果 i 的數量比 a字串長度的數值少,
                                                就會將 i + 1,並進行下列動作document.writeln ( a.charAt(i) + "<br>"),直至
                                                 i = a.length 或大於a.length(i>a.length的情況在i=a.length下不會發生)
document.writeln ( a.charAt(i) + "<br>")   <--“For” loop 動作:當符合For loop條件,網頁就會在新頁寫入字串。
document.writeln 寫入
charAt(i) 字串第i個字元
<br> 入break
document.writeln ( a.charAt(i) + "<br>")   意思是 在新頁寫入a字串的第i個字元再Break開新一行
,動作完成後再返回for (i = 0; i<a.length ; i++) 檢查是否仍然符合條件,如果符合,就會將i + 1,
然後再次進行document.writeln ( a.charAt(i) + "<br>")動作,直至不再符合For的條件(即是i 等於 a.length 或大於a.length)
,動作就會停止。
===========================================================================================
將字串拼成樹形
範例網頁:

輸入123456後按assisgn,網頁會輸出
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
6 6 6 6 6 6
1
1
2 1 2
2 1 2
原始檔
<html>
<body>
<center><h3> seeseesky (40) </h3>
<form name="F1">
  Input a string <input type=text name="T1" ><br><br>
  <input type=button value="assign" onClick="B1();">
</form>
<script language="javascript">
  function B1() {
    a = F1.T1.value
    document.writeln ("<center>")
      for (i = 0; i<a.length; i++) {
      for (k = 0; k<i+1; k++) {
    document.writeln (a.charAt(i))
}
    document.writeln ("<br>")
}
      for (i = 0; i<2; i++) {
    document.writeln (a.charAt(0)+"<br>")
}
      for (i = 0; i<2; i++) {
    document.writeln (a.charAt(1))
    document.writeln (a.charAt(0))
    document.writeln (a.charAt(1)+"<br>")
}
}
</script>
</center>
</body>
</html>
原理解述(樹上身):
function B1() {
    a = F1.T1.value
    document.writeln ("<center>")   <---置中
      for (i = 0; i<a.length; i++) {      <—“For” loop條件(參考上面解述)
      for (k = 0; k<i+1; k++) {          <-- for (i = 0; i<a.length; i++)條件內的for loop條件:一開始,k = 0
                                                      ,如果k的數值比(i數值+1)小,就會將k+1,並進行下面動作,直至k=i+1 或k>i+1
document.writeln (a.charAt(i))       <-- 寫入第i個a字串字元   
}
    document.writeln ("<br>")         <-- 入Break
}   }
流程解述:
task25_tut
此網頁可檢查進行For loop 程序時 i 和 k 的數值

PS: 因為樹幹部份原理較簡單,所以不在這裡詳述了

Simon Tsang

用心記錄所見所聞、所思所想

0 意見:

歡迎各位留言