close

老爸這幾天狀況不穩
煩惱他的事情結果程式一點進展都沒 

現在比較穩定了 趕快補進度

 

上一回題目的解答

 

Q:為什麼都會先空一格

A:因為這個FOR迴圈一開始進入的時候會先遇到

所以開頭就先換行一次了

可以改成結尾換行 就不會先空一行

 

原理

假如輸入3 外圈FOR就會跑三圈

三圈的值分別是 1 2 3

第一圈的時候遇上內圈FOR

因為i是1 所以內圈for只跑一圈 印一個星號

第二圈內層for的i是2 所以印兩個星號

根據外層的值連動內層 每次for的情況都不一樣

 

如果看懂了就做另一個版本

輸入3

輸出

  *

 **

***

以此類推 前面是空格

空格的數量也是透過for去變化

-----------------------------------------------------------

 

 

 

以下解答

有上網去google了一陣子才完成這個作業 我的理解力啊

 

如果直接用 ' ' 當空格用的話 不管生成幾個空格 網頁都只會給你一個空格

(卡這裡很久的87)

所以一改用 '&nbsp' ˋ這個代表空格

 

Q: 進a圈的時候跑了4次生成了4次空格嗎

A: 沒錯 第一圈跑了四次

 

Q: 為什麼a那圈會跑四次 i 和 b不會一直跑

A: 程式語言是循序下來一行一行執行

跑到a的那圈for 沒跑完之前不會出來

以後還有多執行緒的概念 不然只能一條線處裡太慢了

現在要看懂單個執行緒 他的程式執行路線是怎麼走

基本舊三種 循序 迴圈 選擇

循序就是依序下來 但有些情況不一樣

像是變數函數宣告 就算宣告在下面 上面也可以用

 

 

再來輸入一串字 然後輸出相反過來的字

輸入 1234

輸出 4321

利用字串就是一種陣列的特性

還有要用for迴圈

 

假設一個字串 s = '123'

s[0] 會得到1

s[1] 會得到2

s.length 會得到3 這是字串長度的意思

用FOR迴圈提取每一個字 然後反過來接起來

--------------------------------------------------------------------------

以下解答

 

 

 

 

 

 

 

 

 

接下來做

把這個字串相反的功能寫成函數

函數就是 你給他一些參數 他處理後給你結果

例如有個函數 X+Y

你給他X = 1    Y = 2

結果就是 3

寫法

function add(x,y){

retuen x+y;

}

add是函數名稱 跟變數名稱一樣看你想取啥

function 意思是你要宣告一個函數

add 後面的(x , y) 意思是你要傳入兩個參數

第一個參數傳入後 宣告為x  第二個宣告為y  在函數內使用

 

如果你想做一個函數 可是他不用參數 

那就是 function add(){

}

空括號

 

然後函數可以有回傳值 也可以沒有回傳值

如果沒有回傳值 就不用return

有回傳值 就是讓這個函數的所有路線跑完之前一定義有一個retuen回傳值;

說 所有路線 是因為可能有if就分成兩個路線

可是不能一個路線有回傳 一個沒有

有回傳的函數就要一定有一個回傳值

 

剛剛宣告好一個函數

function add(x , y){

   return x+y;

}

注意函數宣告完畢 最後的大括號後面是不用分號 ;

這個函數會把傳入的兩個參數作為x跟y 然後回傳相加的值

 

呼叫這個函數的方法

就是在你要呼叫的地方 x = add(1, 2);

因為他有回傳值 所以要拿一個變數去裝他的回傳值

然後我傳入兩個參數 1跟2

x = add(1, 2); 這邊x就會得到 3

如果是沒有傳入參數的函數

那呼叫的時候就是 x = add();

也要括號 括號就代表函數

如果是沒有回傳值的函數 就不用拿變數去裝他了

呼叫他的時候就直接 add(1, 2); 

 

函數宣告通常先在最外面 後面還會有 類別 物件導向

那就會宣告物件函數 只有那個物件可以使用的函數

如果宣告在最外面 那就是全城函數 大家都可以用

宣告在上下沒差 有宣告就可以隨時呼叫 沒有先後問題

 

再來做一個把一串數字相反的函數

傳入一串數字 回傳相反的文字

---------------------------------------------------------------------

以下解答

 

 

 

 

 

 

阿桃:是這樣寫沒錯 不過function 最好是移動到onclick外面

然後括號 縮排要對應好

function LTD{

      123

}

大括號內的東西都要縮排一格 TAB 這樣比較整齊

像是那個for的結尾} 乍看以為是function LTD的

 

更改後

在別的地方定義好函數 (範例為LTD)

就可以呼叫來用 (上圖的 LTD(num) )

arrow
arrow
    全站熱搜

    Catvorize 發表在 痞客邦 留言(0) 人氣()