JS進階程式設計學習筆記之第三章基本概念(文法,資料類型,流量控制語句,函數)——查漏補缺

來源:互聯網
上載者:User

標籤:

一、文法:

  1. 區分大小寫

      2.標識符:就是指變數、函數、屬性的名字,或者函數的參數
    a、標誌符的規則:①第一個字元必須是一個字母、底線(_)或一個貨幣符號($)。
                        ②其他字元可以是字母,底線,貨幣符號或者數字。
    b、標誌符採用駝峰大小寫格式。
    c、strict 模式:在頂部添加以下代碼:"use strict";
    d、語句:結尾加入分號、在控制語句中使用代碼塊為最佳實務。


二、關鍵字與保留字


三、變數:ECMAScript的變數是鬆散類型,可以儲存任何類型的資料。且在初始設定變數時,不會為它標記類型。
     1、不建議修改變數所儲存值得類型,但這種操作是有效
   2、使用var操作符定義的變數為局部變數。函數退出後會被銷毀。
   3、不推薦省略var操作符來定義全域變數。如果有意的忽略var操作符,也會由於相應變數不會馬上就有定義而導致不必要的混亂。給未經聲明的變數賦值在strict 模式下會報錯。

四、資料類型:ECMAScript有5種單一資料型別(基礎資料型別 (Elementary Data Type))——Undefined、Null、Boolean、Number、和String。一種複雜資料類型——Object。

  1.typeof操作符——檢測給定變數的資料類型

    undefined——如果這個值未定義;
    boolean——如果這個值是布爾值;
    string——如果這個值是字串;
    number——如果這個值是數值;
    object——如果這個值是對象或者null;
    function——如果這個值是函數;

  2.undefined類型:
    a、在使用var聲明變數但未對其加以初始化時,這個變數的值就是undefined。(預設取得)。
    b、對於尚未聲明的變數,只能執行一項操作,使用typeof操作符檢測其資料類型。返回undefined。
    c、儘可能顯式的初始設定變數,這樣當ytpeof返回undefined時,我們就知道 被檢測的變數還沒有被聲明,而不是尚未初始化。

  3、null類型:
    a、如果定義的變數準備在將來用於儲存對象,那麼最好將變數初始化為null而不是其他值。
    b、undefined的值是派生自null的,所以他們的相等性測試返回true。(雙等返回true,三等返回false)。

  4、boolen類型:
    a、Boolean類型的字面量true和false是區分大小寫。其他寫法都不是Boolean值,只是標誌符。
    b、ECMAScript中所有類型的值都有與這兩個Boolean值等價的值。要將一個值轉換成對應的Boolean值,可以調用轉型函數Boolean()。

資料類型 轉換為true的值 轉換為false的值
Boolean true false
string 任何非Null 字元串 Null 字元串
number 任何非零數值(包括無窮大) 0和無窮大
object 任何對象 null
undefined 不適用 undefined

 

  5、number類型:
    a、八進位字面量的第一位必須是零(0),然後是八位元字序列。如果字面值中的數值超出了範圍,那麼前置字元為零將被忽略,後面的數值被當做十進位數值解析。八進位字面量在strict 模式下無效。
    b、十六進位字面量的前兩位必須是0x,後跟任何十六進位數字0~9和a~z,字母可大寫可小寫。
    c、在進行算術計算時,所有八進位與16進位表示的數最終都被轉換成十進位
    d、浮點數值:
      ①數值中必須包含一位小數點,小數點後必須至少有一位元字。小數點前可以沒有整數,但是不推薦。浮點數值若能轉換為整數值,那麼會被轉換。
      ②極大極小值用e標記法。
      ③浮點數的精度有bug,所以不要測試某個浮點數的值
    e、數值範圍:超出js數值範圍的值會被自動轉換成Infinity。Infinity無法參與計算。isFinite()函數在參數位於最大最小值之間時會返回true。
    f、NaN:用來表示一個本來要返回數值的運算元未返回數值的情況。
      ①任何涉及NaN的操作,都返回NaN。NaN與任何值都不相等,包括他本身。
      ②isNaN()函數接收一個參數,該參數可以是任何類型,函數會嘗試將參數轉換為數值,任何不能被轉換為數值的值都會導致函數返回true。該函數適用於對象,先調用對象的valueOf()方法,然後確定該方法返回的值能否轉換為數值。若不能,則基於這個傳回值再調用toString()方法,再測試傳回值。
    g、數值轉換:
      ①Number():用於任何資料類型
        如果是Boolean值,true和false分別返回1和0。
        如果是數值,簡單地傳入返回。
        如果是null,返回0。
        如果是undefined,返回NaN。
        如果是字串:
          如果字串只包含數字(無論正負),將其轉換為十進位,忽略前置字元為零。
          如果字串包含有效浮點格式,轉換成對應浮點格式,忽略前置字元為零。
          如果字串包含有效16進位,將其轉換為相同大小的十進位整數值。
          如果字串為空白,將其轉換為0。
          如果字串包含除上述格式之外的字元,則將其轉換為NaN。
        如果是對象:調用valueOf()方法,然後依照前面的規則轉換傳回值。如果轉換結果是NaN,則調用toString()方法,然後再次依照前面規則轉換。



    

JS進階程式設計學習筆記之第三章基本概念(文法,資料類型,流量控制語句,函數)——查漏補缺

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.