記JavaScript的入門學習(三)

2016.12.6晚上十點半完成JavaScript的第二章學習,看了點第三章的開頭總述,都說原生js每個知識點均可以分分鐘鍾讓你放棄,而我在努力探索着。月末的時候就回家放假了,但願在家也能夠有個小小的練習,開學來的時候能夠把js過一遍,啊還有jQuery呢!!!html

 

3、判斷、循環和函數(檢查用戶輸入的有效性)編程

 

3.1    選擇語句——if語句和swith語句(程序具備必定的邏輯判斷能力)瀏覽器

        3.1.1   以下代碼:(將條件表達式的結果賦值給變量)函數

                                

        3.1.2   if語句        「若是室內溫度超過華氏80°,就打開空調」,學習

                                       相似代碼:      if (roomTemperature > 80) {roomTemperature = roomTemperature - 10;}3d

                                       代碼塊裏僅有一條語句,也能夠把大括號省略改成:  if (roomTemperature > 80)  roomTemperature = roomTemperature - 10;code

                                                             

                                必須將判斷條件置於if關鍵字以後的圓括號裏,並不在結尾處加分號。htm

                         大括號在js中有着特別的用途,表示用大括號括起來的多條語句是一個代碼塊,js把代碼塊視爲一條語句。可是當條件語句表達式爲true時,若是須要執行多條語句,則應該使用大括號將這些語句括起來,組成一個代碼塊。blog

                   以下也可這樣改:ip

                                           

        當條件爲true時,執行整個代碼塊,且當條件爲true時,執行整個代碼塊。可是因爲忘記使用大括號此時條件爲true時,緊隨if的條件表達式以後的下一條語句將被執行。可是,不管if的條件判斷是true仍是false,其它代碼行老是被執行。爲了不這樣的錯誤,即便只有一條語句,也最好堅持使用大括號將其括起來,這是個良好的編程習慣,能夠避免忘記使用大括號而產生的錯誤。

                 以下小例:

                    

 

代碼解釋:在瀏覽器打開時,提示框已經輸入了32,做爲要轉換的華氏溫度值。對於華氏32°,代碼中兩個if語句的條件判斷表達式都爲false,因此兩個if語句中的代碼都不會被執行,頁面上僅有一行輸出(32° Fahrenheit is 0° centigrade);

         輸入32時會這樣顯示      ;輸入156時

     聲明瞭兩個變量,其中degFahren的初始值是prompt()函數的返回值。因爲prompt()函數的返回值是一個字符串,所以使用Number()函數顯式地將該字符串轉換爲數值。

     變量degCent用於保存算術表達式5/9*(degFahren-32)的結果,這個表達式將華氏度轉換爲攝氏度。

 

接下來document將轉換後的結果輸在頁面上

 

兩個if語句是新增的代碼,若是判斷的變量小於0是true則括號中的代碼將被執行,它將使用document.write()方法向頁面輸出一段文本信息;若是答案是false,則程序將直接轉到大括號結束符以後的下一行代碼執行(代碼縮進是一個良好的編程習慣,可使代碼更加清晰易讀)

 

3.13邏輯運算符(&&   ||   !)左操做數和右操做數都是布爾值

       一、邏輯與&&

     以前咱們就介紹過左操做數和右操做數,它們一樣適用於邏輯與運算符。只不過對於邏輯與運算符來講,它的左操做數和右操做數都是布爾值,而且一般是一個條件表達式的結果。

     真值表

           

              

          二、邏輯或||

       

      邏輯或運算符的左操做數和右操做數也是布爾值,其結果也是布爾值。

      若是它的操做數值爲true,或者它的操做數值爲true,它的返回值就是true,不然,它將是false。   

      與邏輯和運算符相似,js也會避免那些對最終結果沒有任何影響的計算。若是左操做數爲true,那麼不管右操做數的結果是true仍是false,都對其最終結果沒有任何影響——最終結果都將是true。所以,當邏輯或運算符的左操做數爲true時,js將直接返回結果值true,而再也不去計算右操做數。實際上,不管是否去計算右操做數,其結果都是同樣的。

         三、邏輯非!

      在JavaScript中是在條件爲true時執行代碼,so若是咱們須要在條件爲false時執行代碼,就須要把false取反爲true(把true取反則爲false)。經過這樣的方法,能夠在條件爲false時執行代碼。咱們使用邏輯非運算符來取反。邏輯非運算符將返回取以後的邏輯值,對true取反將獲得false,對false取反將獲得true值。一般,咱們稱之爲邏輯非運算。

      

if ( ! (deCent < 100 ) )
{
   //some code
}

  邏輯非的真值表:

 

3.1.4 在if語句中使用符合條件

   "變量degFahren的值是否大於0,但又小於100?",一個解決辦法就是嵌套的兩個if語句。嵌套指的是在一個外層if語句之中,在使用一個內層的if語句。當且僅當外層的if語句的判斷條件爲true時,內層的if語句的判斷條件纔會被檢驗。

if (degCent < 100)
{
   if (degCent > 0)
    {
         decoument.write("degCent is between 0 and 100");
    }  
}

  上面的代碼是正確的,可是它有點冗長,而且不太直觀。JavaScript爲咱們提供了更好的解決辦法——在if語句的邏輯判斷部分使用複合條件。複合條件就是使用邏輯運算符把多個條件鏈接起來的邏輯表達式,以下:

if (degCent > 0 && degCent < 100 )
{
     document.write("degCent is between 0 and 100");
}

  上面的if語句將首先計算變量degCent的值是否大於0,若是爲true,if語句將接着計算變量degCent的值是否小於100。當兩個條件都是true,if語句將接着計算變量degCent的值是否小於100。當兩個條件都爲true時,if語句中的代碼document.write()纔會被執行。

相關文章
相關標籤/搜索