1. 程式人生 > >JavaScript的基礎知識

JavaScript的基礎知識

string mil 標識 string類型 空間 數字字符串 保留字 標識符 減法

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)

整型

整型數據,即我們通常所說的整數,如:123100200等等。

整型數據可以是十進制、八進制和十六進行,默認采用的是十進制

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

如果需要表示十六進制數據,則必須以0x0X開頭,其中0為數字零。如十六進制0x3D,其十進制值為61

浮點型

浮點型數據,即我們通常所說的小數。如:3.1412.34100.5等等。

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

特殊數值

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

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

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

isNaN()來檢測這個值!

2. 字符串型

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

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

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

在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和空字符串,而是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

nullnullnull與數值相加減,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類型!除了0nullundefinedNaN“”轉換後的結果為false外,其他的值都將被轉換為true

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

提取轉換

parseInt(string,n)

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

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

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

parseFloat(string)

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

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

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

eval(string_expression)

該函數將計算字符串表達式的值並返回

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

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

JavaScript的基礎知識