寫給兔小白的js教程(2)

叮鈴鈴,上課啦~~javascript

昨天的家庭做業兔小白完成得不錯,今天開始咱們要正式學習語法了。老規矩,後面會有小遊戲等着兔子喲~~ html

一、javascript中的常量與變量java

全部編程語言都會涉及這兩個概念,所謂常量就是值不變的固定數據,變量就是值能夠按須要變化的數據,兔有Perl的基礎,應該不難理解。咱們來看幾個例子,加深一下理解:編程

  
  
  
  
  1. //用var定義一個變量number,把整型常量100賦給它,這樣它也是整型的了 
  2. var number = 100; 
  3.  
  4. //這幾個是把字符串常量賦給變量,單雙引號的用法很靈活喲 
  5. var msg1 = "這是一個字符串"
  6. var msg2 = '這是單引號的字符串'
  7. var msg3 = "還能夠混用'單雙引號'喲"
  8. var msg4 = '換過來用"單雙引號"也能夠喲'
  9.  
  10. //用一個var能夠同時聲明多個變量,這裏的y是實型變量,就是小數 
  11. var x = 100, y = 120.15; 
  12.  
  13. //也能夠先定義,後賦值 
  14. var exist; 
  15. exist = true
  16.  
  17. //不光能夠把常量賦給變量,變量也能夠賦給變量 
  18. var top = 100, bottom = top; 
  19.  
  20. //這是定義數組,數組就是多個數據的集合 
  21. var list = [100, 120, 140, 160, 180]; 
  22.  
  23. //這是定義對象,上一篇中出現的window就是一個js內置的對象,對象中能夠有方法和變量,兔能夠先不用深究,後面還會遇到 
  24. var obj = { id:1, name:"Bunny", hello:function(){return "Hello"} }; 


怎麼樣,還不算複雜吧?OK,咱們繼續。數組

二、控制語句dom

一門語言光有變量能幹什麼?咱們最終是要用它執行邏輯的,因此接下來咱們看看語句與方法。編程語言

先看控制語句吧,這個最經常使用,由於計算機比較笨,只會按規則辦事,若是知足什麼條件就怎麼怎麼樣,不然就不怎麼怎麼樣。javascript裏判斷語句的語法是這樣的:
ide

  
  
  
  
  1. //基本判斷 
  2. if(條件) 
  3.     執行語句1; 
  4. else 
  5.     執行語句2; 
  6.  
  7. //多級判斷 
  8. if(條件1) 
  9.     執行語句1; 
  10. else if(條件2) 
  11.     執行語句2; 
  12. else 
  13.     執行語句3; 
  14.  
  15. //嵌套判斷 
  16. if(條件1){ 
  17.     if(條件2) 
  18.         執行語句2; 
  19.     else 
  20.         執行語句3; 
  21. else
  22.     執行語句1; 

咱們來嘗試用判斷語句結合變量作點事情:判斷奇偶數。函數

  
  
  
  
  1. /* 
  2.  * 判斷給定的變量number是否奇數 
  3.  */ 
  4. function isOdd(number){ 
  5.     var odd; 
  6.     if(number % 2 != 0)   //%是取模運算,就是取兩個數相除後的餘數 
  7.         odd = true
  8.     else 
  9.         odd = false
  10.  
  11.     return odd; 


三、方法
學習

剛纔判斷奇偶數的時候,咱們遇到了一個新的概念:方法(或者叫函數)。  

所謂方法,能夠認爲它是多條語句的一個集合,用來完成特定的功能。javascript內置了許多函數,好比parseInt()能夠把一個字符串轉化成對應的整數,getElementById()能夠取到頁面中的元素。

咱們也能夠本身定義方法,好比上面的isOdd()就是一個咱們本身定義的方法,關鍵字function表示定義方法,isOdd是函數名,它接收一個參數number,而且有返回值,告訴調用者運算的結果是什麼。

適當使用方法對大段的語句進行封裝可使程序結構清晰,更簡潔易懂。


好了,兔子累了,上個小遊戲吧,整合一下今天的知識。遊戲名叫「兔小灰猜數」,運行時,兔小白會隨機想好一個100之內的整數讓兔小灰猜,每次兔小白會告訴兔
小灰猜大了仍是猜小了,直到猜中爲止。


上代碼啦,請兔小白認真閱讀。

  
  
  
  
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"
  2. <html> 
  3. <title>兔小灰猜數</title> 
  4. <style> 
  5. *{font-size:20px;font-family:"微軟雅黑"
  6. #whiteSay{display:inline-block;width:300px;text-align:right} 
  7. #grayGuess{width:60px} 
  8. </style> 
  9. <script type="text/javascript" language="javascript"
  10.  
  11. //定義兩個變量,number用來存兔小白隨機想好的數,count用來存兔小灰猜的次數 
  12. var whiteNumber = 0, count = 1; 
  13.  
  14. /* 
  15.  * 初始化方法,給number賦值用的 
  16.  */ 
  17. function init(){ 
  18.     //Math是一個js內置的對象,它上面定義了不少與數學相關的方法 
  19.     //random()用來隨機生成一個0~1之間的小數,咱們把它乘以100就獲得了一個0~100之間的小數 
  20.     //再用floor()方法取一下整,就是0~100之間的整數了 
  21.     whiteNumber = Math.floor(Math.random() * 100); 
  22.  
  23. /* 
  24.  * 用來判斷兔小灰輸入的方法 
  25.  */ 
  26. function judge(){ 
  27.      
  28.     //這個get是什麼呢?它是個自定義的方法(見下方),其實就是老寫document.getElementById有點麻煩,因此提成一個自定義方法,這樣使用時能縮短點 
  29.     var guess = get("grayGuess"),   say = get("whiteSay"); 
  30.  
  31.     //parseInt()用來把一個字符串轉化成對應的整數,注意若是字符串不合法,它可能轉換出一個NaN來(Not a Number的意義) 
  32.     //這裏咱們把guess.value轉化一下,它就是輸入框的值 
  33.     var guessNum = parseInt(guess.value); 
  34.  
  35.     //要作一下判斷,必須是數字、且大於0、且小於100,才認爲兔小灰輸入是合法的 
  36.     if(!isNaN(guessNum) && guessNum > 0 && guessNum <= 100){ 
  37.  
  38.         //若是兔小灰猜的和兔小白想的同樣,就是猜對了 
  39.         if(guessNum == whiteNumber){ 
  40.             say.innerText = "恭喜兔小灰猜對啦~~";           //輸出信息 
  41.             get("white").src = "p_w_picpaths/succeed.jpg";    //更換圖片 
  42.             get("btnSubmit").disabled = "disabled";     //禁用按鈕,由於不用繼續猜了 
  43.         } 
  44.         //猜大了 
  45.         else if(guessNum > whiteNumber){ 
  46.             say.innerText = "第" + (count++) + "次,你猜大啦~~"
  47.         } 
  48.         //既沒猜中也沒猜大,那就只能是猜小了 
  49.         else
  50.             say.innerText = "第" + (count++) + "次,你猜得有點小喲~~~"
  51.         } 
  52.  
  53.     } 
  54.     //輸入不合法 
  55.     else
  56.         say.innerText = "不準亂輸入!!"
  57.     } 
  58.  
  59.     //清空輸入框 
  60.     guess.value = ""
  61.     //focus()方法用於把輸入焦點定位到指定元素上 
  62.     guess.focus(); 
  63.  
  64. /* 
  65.  * 咱們自定義的一個方法,這樣就不用總寫document......了 
  66.  */ 
  67. function get(id){ 
  68.     return document.getElementById(id); 
  69.  
  70. </script> 
  71. <body onload="init()"
  72.  
  73. <span id="whiteSay">我想好了一個100之內的數,猜猜是多少吧</span> 
  74. <img src="p_w_picpaths/white.gif" id="white" /> 
  75.  
  76. <br/> 
  77.  
  78. <img src="p_w_picpaths/gray.gif" id="gray" /> 
  79. 我猜是 <input type="text" id="grayGuess" /> 
  80. <button onclick="judge()" id="btnSubmit">兔小灰提交</button> 
  81.  
  82. </body> 
  83. </html> 

 

兔小白認真閱讀了沒? 下面是家庭做業了:請改寫一下代碼,若是兔小灰能在5次之內猜中,就獎給它一根胡蘿蔔。

相關文章
相關標籤/搜索