JavaScript的基礎知識

來源:互聯網
上載者:User

標籤:最大值   script   子串   body   val   變數   算術   16px   計算字串運算式   

1,標識符

 標識符是程式中常量或變數命名的一種術語稱呼,並不是所有的字元組成都是一個合法的標識符,規範如下:

  1.   標識符的組成部分可以是字母,數字,底線或美元($)符號 
  2.   標識符開頭是字母,底線或美元($)符號,而不能是數字
  3.   標識符不能出現一些特殊符號(如:¥,%,+)也不能存在空格
  4. 不能是JavaScript中的保留字(即關鍵字),如:var,new,if,else 等
  5. 標識符區分大小寫,myName和MyName是兩個不同的標識符

以下標識符是正確的:

myPencil  myName  _myAge  $mySex  xyz123  _123abc  Var  New

以下標識符時錯誤的

123abc  my+Name  my,.Age  var  new

2.JavaScript中的資料類型

  1. 數值型(number)  

      整型

      整型資料,即我們通常所說的整數,如:1、23、100、200等等。

       整型資料可以是十進位、八進位和十六進行,預設採用的是十進位

       如果需要表示八位元據,則必須以數字0開頭。如八進位037,其十進位值為31。

       如果需要表示十六進位資料,則必須以0x或0X開頭,其中0為數字零。如十六進位0x3D,其十進位值為61。

   浮點型

   浮點型資料,即我們通常所說的小數。如:3.14、12.34、100.5等等。

   實型資料除了可以使用常用格式外,還可使用科學計數法來表示。如:8.2的8次方——8E+8;8.2的負8次方——8.2E-8。

   特殊數值

   Infinity當一個正浮點型資料大於或等於其所能表示的最大值時(2的1024次方),則其結果是一個特殊的正無窮大,JavaScript將它標識為Infinity。

        -Infinity當一個負浮點型資料小於或等於其所能表示的最小值時(-2的1024次方),則其結果是一個特殊的負無窮大,JavaScript將它標識為- Infinity。

       NaN即Not a Number,表示一個值並不是合法的數值形式,如字串(純數字字串除外)。這個數值比較特殊,它和任何數值都不相等,包括它自己在內,所以我們專門通過函數isNaN()來檢測這個值!

       2. 字串型

      JavaScript中沒有單獨的字元常量,而是有若干字元組成的字串常量

      字串型常量必須使用單引號(‘‘)或雙引號("")將各組成字元括起來,如"ab","abook" 

      當一個字串不包括任何字元時,其形式為""或‘‘表示一個Null 字元串

      在JavaScript中,有些特殊的符號不能直接進行輸出,在此需要一種特殊的字元常量來表示,即逸出字元

      逸出字元必須以反斜線(\)開頭,後面跟一個或幾個特定的字元

      

逸出字元

Unicode碼

含義

\b

\u0008

退格

\t

\u0009

橫向跳到下一個製表位置

\n

\u000A

斷行符號換行

\v

\u000B

豎向跳到下一製表位置

\f

\u000C

走紙換頁

\r

\u000D

斷行符號

\”

\u0022

雙引號

\’

\u0027

單引號

\\

\u005C

反斜線

\xnn

 

十六進位代碼nn(00~FF)表示的字元。

\unnnn

 

十六進位代碼nnnn(0000~FFFF)表示的Unicode編碼。

\x3c

 

字元“<”

\x3e

 

字元“>”

    3,布爾型(boolean)

      布爾值用於表示一個事物的正反面

      該類型只有true和false,通常用於條件判斷語句

    4,空值型(null)

     這是一個值,null,表示一個變數所指向的對象為空白值!

              它表示“無值”,並不表示“null”這4個字母,也不是0和Null 字元串,而是JavaScript中的一種物件類型

     null可用於初始設定變數,以避免產生錯誤,也可以用於清除變數的內容,從而釋放與變數相關聯的記憶體空間。當把null賦值給某個變數後,這個變數中就不再儲存任何有效資料了!

             5,未定義型(undefined)

             這是一個值,undefined,表示變數未聲明或未初始化或對象的某個屬性不存在。

             null表示賦給變數的值為“空”,“空”是一個特殊意義的值,而undefined則表示變數並未存在或未初始化,變數的值還處於未知狀態!

             在使用等於運算子“==”的時候,null和undefined均和自己相等,同時互相之間也相等,但和其他任何值都不相等。

             嚴格等於運算子“===”將null和undefined的值看做不相等。

3,JavaScript中資料類型的轉換

           隱式轉換

           數值字串與數值相加,進行字串的串連運算,最後結果為string類型

"123"+123 ="123123"

            數值字串與數值相減,進行算術減法運算,最後結果為number類型

"123"-123 = 0

           字串與其他任何類型的資料進行"+"運算,所進行的字串的串連運算,最後的結果為string類型

null+”123”+undefined+”abc”+123+”fgh”+true = ”null123undefinedabc123fghtrue”

            true與數值進行想加減,將自動轉換為1,然後參與運算,最後結果為number類型!

true+true+1 = 3

          false與數值進行相加減,將自動轉換為0然後參與運算,最後結果為number類型!

 

true+false+1=2

 

          null與null、null與數值相加減,null的值始終為0,最後結果為number!

 

null+null+1 = 1

 

        undefined與數值相加減,最後的結果始終為NaN

null+undefined+true+1 = NaN 

         基本轉換

        string()

        將其他類型的值轉換為string類型 

String(280)+ String(true) = “280true”

 

         Number()

 

         將可以轉換為數值的其他類型轉換為number類型

Number(”123”)+Number(true) +Number(false) +Number(null) = 124

          Boolean()

           將其他類型的值轉化為boolean類型!除了0、null、undefined、NaN、“”轉換後的結果為false外,其他的值都將被轉換為true。

 

String(“123”+Boolean(0)+Boolean(null)+Boolean(“ab”)) = “123falsefalsetrue”

 

           提取轉換

          parseInt(string,n)

          該函數將string字串參數中最前面能夠轉換成整型數值的子字串轉換為數值!

 

          其中參數n用來指定字串參數將以什麼進位來進行轉換,可以是2、8、10、16以及2~32之間的任意數值,如果不指定該參數,則預設以10進位來進行轉換,轉換後的值都將以十進位的形式存在!(注意:當不指定n參數時,如果字串的首字元為數字0,將會按照8進位進行轉換!)
   當string字串首部不存在數字子串時,該函數最終返回NaN!

parseInt(“100.23abc”) = 100parseInt(“+100.23abc”) = 100parseInt(“-100.23abc”) = -100parseInt(“0100.23abc”) = (0100)8 = 64parseInt(“100.23abc”,2) = (100)2 = 4parseInt(“100.23abc”,16) = (100)16 = 256parseInt(“100.23abc”,8)= (100)8 = 64

 

          parseFloat(string)

          該函數將string字串參數中最前面能夠構成實數的字串轉換為數值

           當string字串收不不存在數字字串時,改函數最終返回NaN

parseFloat(“123.23abc”) = 123.23parseFloat(“+123.23abc”) = 123.23parseFloat(“-123.23abc”) = -123.23parseFloat(“123.23.34ab”) = 123.23parseFloat(“.123.23.34ab”) = 0.123parseFloat(“0123.adf”) = 123

          eval(string_expression)

          該函數將計算字串運算式的值並返回

          如果字串不是一個合法的運算式,將會發生異常,我們可以通過try…catch語句來判斷此種情況的發生!

 

eval(“3+3+3+3+3*10”) = 42eval(“3+3+4+(3+2)*10”) = 60eval(“-3+4+3+4*10/2”) = 28eval(“3>2”) = trueeval(“3++34-2”)              //將會引發異常!

 

 

 

 

 

 

 

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.