JavaScript-基本文法和資料類型

來源:互聯網
上載者:User

標籤:

 

       前奏:在HTML中使用JavaScript

       1_推薦src引用外部JavaScript檔案,方便管理與維護,標籤位置在頁面最下面,使瀏覽器更優先載入頁面內容。

       2_HTML頁面需要有標準的文件類型申明DOCTYPE,否則會觸發混雜模式,頁面非常容易出錯。

       3_考慮禁用JavaScript的情境。

<body>
...
//當瀏覽器不支援javascript或被禁用時,會呈現<noscript>標籤內的內容。 <noscript> <p>本頁面需要瀏覽器支援JavaScript.</p> </noscript> </body>

 

 

        1. 基本文法

1.  ECMAScript中的一切(變數,函數名和操作符)都區分大小寫。

2.  標識符命名: 首字元必須字母,底線或$貨幣符號,數字不能在第一個。(關鍵字和保留字不能作為標識符)

3.  strict 模式 “use strict” 定義了一種要求更高的解析和執行模型

function
doSomething(){ "use strict" //函數體 }

 

 

 

       2. 資料類型

資料類型分為基本類型和複合類型。

基礎資料型別 (Elementary Data Type):number,boolean 、string 、null和 undifined。

number 整型或浮點型
boolean 布爾類型,true或false (注意區分大小寫,必須都為小寫時才是)
string 字串,單雙引號都可以
null 表示一個Null 物件指標,
undefined 變數申明未定義時為undefined,
object 資料和功能的集合

 

number類型

1. 八進位在strict 模式下無效,十六進位前兩位必須為0x,計算式都將轉換為十進位

2. 取值範圍,使用全域isFinite()函數判斷是否超出範圍,如果在範圍內則為true,如果在範圍外則為false.

Number.MAX_VALUE; /* 最大數值(JS 可以表示的) */ Number.MIN_VALUE; /* 最小數值(JS 可以表示的) */ Number.NEGATIVE_INFINITY; /* 負無窮大,值為-Infinity */ Number.POSITIVE_INFINITY; /* 無窮大 值為Infinity */

3. NaN和isNaN()

      NaN是number類型,但不是數字,一旦程式中出現了NaN,說明出現了問題,

      NaN的布爾屬性為false,NaN和任何值都不相等,包括NaN本身。

      任何涉及NaN的操作都會返回NaN。

      isNaN()

      裡面的資料首先通過number()方法轉換,

      如果能夠轉為數字,則isNaN()為 false。

      如果不能轉為數字,則isNaN()為true。

4.數值轉換

  1. Number()函數:將資料整體轉換成Number類型,和使用一元加操作符(+)作用相同,建議使用 + 操作符,比較簡單。 直接加一個Null 字元串。
  2. parseInt()函數:解析整數,從左往右,遇到非數字即停止,可以傳入資料和進位,如parseInt(‘070‘,8)輸出10進位的56。
  3. parseFloat()函數:解析浮點數,從左往右,會識別第一個小數點,只能接受一個參數,需要注意的是,如果被解析的資料結果是整數,會直接返回整數。

 

 

boolean類型

Boolean類型只有:true和false。注意區分大小寫,其它形式的都不是,例如True和False.

 

1. 任何一種資料類型的值都能轉換為與其相對應的Boolean值,轉換方式主要有三種:

  顯示轉換:轉型函數Boolean() 

       隱式轉換,比如條件陳述式if

2.在轉換為數值時,true和false分別轉換為1和0,轉換為字串時,分別為‘true‘和‘false‘。

3.Boolean類型的true和false,使用typeof時,均返回字串‘boolean‘。

 

string類型

1.隱式轉換,任何一個數值與字串相加,都會將其使用String()轉換成字串,然後將兩個字串合并。

2.顯示轉換String(),

3.字串使用反斜線“\”來轉義,常見的逸出字元:

字面量 含義 字面量 含義 字面量 含義
\n 換行 \t 製表 \b 空格
\r 斷行符號 \f 進位 \\ 反斜線
\’ 單引號 \” 雙引號    
\xnn 以十六進位代碼nn表示的一個字元 \unnnn 以十六進位代碼nnnn表示的一個Unicode字元    

 

null和undefined區別

 

null

undefined

表示 Null 物件指標 尚未定義的變數
typeof運算結果 object undefined
  undefined派生null,使用==判斷為true undefined派生null,使用==判斷為true
  如果定義變數準備在將來儲存對象,
那麼最好將變數初始化為null.
無論申明情況下後沒有必要將一個變數顯示設定為undefined.

 

這五種基礎資料型別 (Elementary Data Type)可以直接操作儲存在變數中的實際值

基礎資料型別 (Elementary Data Type)都儲存在記憶體中的棧區。

 

引用(複合)資料類:javascript引用資料類型是儲存在堆記憶體中,JavaScript不允許直接存取堆記憶體空間中的位置和操作堆記憶體空間,只能通過操作對象在棧記憶體中的引用地址。

                             所以參考型別的資料,在棧記憶體中儲存的實際上是對象在堆記憶體中的引用地址。通過這個引用地址可以快速尋找到儲存在堆記憶體中的對象。

 

 參考型別是可以添加屬性,基本類型雖然也可以添加屬性,也不會報錯,但是卻無法訪問

 

 

 

JavaScript-基本文法和資料類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.