javascript 基礎(chǔ)簡介 適合新手學(xué)習(xí)
1. 關(guān)于JavaScript簡單介紹
Ø 在網(wǎng)絡(luò)或書籍所說的JavaScript大部分指客戶端JavaScript。
Ø JavaScript是一種輕量型、解釋型、面向?qū)ο蟮木幊陶Z言。
Ø JavaScript特性
1) 控制文檔的外觀和內(nèi)容
2) 控制瀏覽器
3) 和HTML表單的交互
4) 和用戶的交互
5) 用Cookie讀寫用戶狀態(tài)
6) 其它
2. 詞法結(jié)構(gòu)
2.1. 字符集
JavaScript程序是用Unicode字符集編寫的。
2.2. 區(qū)分大小寫
JavaScript是一種區(qū)分大小寫的語言。
2.3. 注釋
//://后一行的任何文本都被注釋
/**/:處于/**/之間的任何文本都被注釋
2.4. 直接量
直接量:直接在程序中出現(xiàn)的數(shù)據(jù)值
12 //數(shù)字1.2 //數(shù)字"hello world" //字符串'Hi' //字符串true //布爾值false //布爾值/JavaScript/gi //正則表達(dá)式null //空對象{ x:1, y:2 } //對象初始化程序[1,2,3,4,5] //數(shù)組初始化程序2.5. 標(biāo)識符
標(biāo)識符其實就是一個名字。在JAVASCRIPT中,標(biāo)識符用來命名變量、函數(shù)或用于在
JAVASCRIPT代碼中某些循環(huán)的標(biāo)簽。
標(biāo)識符命名規(guī)則,首個字符必須是字母、下劃線或美元字符,接下來字母、數(shù)字、下劃線或美元字符。數(shù)字不允許作為首個字符,這樣JAVASCRIPT就可以輕易區(qū)分標(biāo)識符和數(shù)字。
2.6. 保留字
break
do
if
switch
typeof
case
else
in
this
var
catch
false
instanceof
throw
void
continue
finally
new
true
while
default
for
null
try
with
delete
function
return
3. 數(shù)據(jù)類型和值
3.1. 數(shù)字
在JavaScript中,數(shù)字不分為整數(shù)類型和浮點型類型,所有的數(shù)字都是由
浮點型類型。JavaScript采用IEEE754標(biāo)準(zhǔn)定義的64位浮點格式表示數(shù)字,它能表示最大值為±1.7976931348623157 x 10308,最小值為±5 x 10 -324
3.2. 字符串
在JavaScript中,字符串是由Unicode字符、數(shù)字、標(biāo)點符號等組成的序
列,用'或"都可以表示一個字符串。
3.3. 布爾型
在JavaScript中,布爾型類型只有true和false兩種值。
3.4. 函數(shù)
在JavaScript中,函數(shù)被看作是一種數(shù)據(jù)類型。例如:var square = function(x) { return x*x; } 3.5. 對象
3.6. 數(shù)組
3.7. null
JAVASCRIPT的關(guān)鍵字null是一個特殊的值,它表示”無值”。Null常常被看作對象類型的一個特殊值,既代表”無對象”的值。Null是個獨一無二的值,有別于其它所有的值。如果一個變量的值為null,那么你就會知道它的值不是有效的對象、數(shù)組、數(shù)字式、字符串和布爾值。
3.8. undefined
當(dāng)以下幾種情況時,會產(chǎn)生undefined:
Ø 使用了并未聲明的變量
Ø 使用了已經(jīng)聲明,但還沒有被賦值的變量
Ø 使用了對象并不存在的屬性
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
運(yùn)行結(jié)果:
undefined
undefined
'test2' 未定義
3.9. Date對象
3.10. 正則表達(dá)式
3.11. Error對象
3.12. 基本數(shù)據(jù)類型的包裝對象
4. 變量
4.1. JavaScript變量特點
在JavaScript中,變量有以下特點:
Ø 可以調(diào)用沒有經(jīng)過聲明變量,例如:i=1;alert(i);
Ø 變量可以存儲任何數(shù)據(jù)類型的值,例如:i=1;i='ddxkj';
4.2. 聲明變量
提倡使用var關(guān)鍵字顯式聲明變量,例如:var i = 100;如果你沒有顯式聲
明一個變量,JAVASCRIPT會幫你隱式聲明它。如果使用var顯式定義了一個變量,但沒有賦值前,它了初始值是undefined
由var聲明的變量是永久性的,也就是說,用delete運(yùn)算符刪除這些變量時會引發(fā)錯誤。
4.2.1. 重復(fù)的聲明和遺漏的聲明
使用var語句多次聲明同一個變量不僅是合法的,而且也不會造成任何錯誤。
如果嘗試讀一個未聲明的變量的值,JAVASCRIPT會生成一個錯誤。如果嘗試給一個未
用var聲明的變量賦值時,JAVASCRIPT會隱式聲明該變量。但是要注意,隱式聲明的變量總是被創(chuàng)建為全局變量,即使該變量只在一個函數(shù)體內(nèi)使用。例如:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
運(yùn)行結(jié)果:
ddddd
ddddd
aaa
4.3. 變量的作用域
一個變量的作用域是程序中定義這個變量的區(qū)域。全局變量的作用域是全局性的,即在JAVASCRIPT代碼中,它處處可以被調(diào)用。而在函數(shù)之內(nèi)聲明的變量和函數(shù)的參數(shù),就只在函數(shù)體內(nèi)有定義。它們是局部變量,作用域是局部的。
在函數(shù)體內(nèi)部,局部變量使用的優(yōu)先級高于同名的全局變量。當(dāng)在函數(shù)體內(nèi)部,定義了一個和全局變量同名的局部變量,那么全局變量就會被隱藏。所以要盡量避免這樣一種情況,如果函數(shù)使用的是全局變量,而不是局部變量,那就有可能改變程序其它函數(shù)所使用該全部變量的值,而產(chǎn)生一些難于發(fā)現(xiàn)的問題。
4.3.1. 沒有塊級作用域
不同于JAVA或C語言,JavaScript是沒有塊級作用域。在函數(shù)體是,不論在什么位置定義了局部變量,局部變量在整個函數(shù)體內(nèi)都可以被使用。例如:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
運(yùn)行結(jié)果:
0
1
2
3
4
5
6
7
8
9
10
100
當(dāng)一個函數(shù)中,定義了一個和全局變量同名的局部變量時,往往結(jié)果不編寫人員所想要的。例如:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
運(yùn)行結(jié)果:
undefined
local
4.3.2. 未聲明的變量和未賦值的變量
Ø 未聲明的變量:讀取未聲明的變量時,會引起運(yùn)行時的錯誤,而使程序中止。
Ø 未賦值的變量:讀取未賦值的變量時,將會得到一個缺省值,即undefined。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
運(yùn)行結(jié)果:
'i' 未定義
undefined
4.4. 基本類型和引用類型
基本類型:數(shù)值、布爾值、null、未定義的值
引用類型:數(shù)組、對象、函數(shù)
4.5. 變量特殊運(yùn)算符
1) in運(yùn)算符
in運(yùn)算符要求其左邊的運(yùn)算數(shù)是一個字符串,或以可轉(zhuǎn)換為字符串,右邊的運(yùn)算數(shù)是一個對象或數(shù)組。如果該運(yùn)算符左邊的值是其右邊對象的一個屬性名,它返回true,否則為false。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
運(yùn)行結(jié)果:
true
true
false
true
2) instanceof運(yùn)算符
instanceof運(yùn)算符要求其左邊運(yùn)算數(shù)是一個對象,右邊是一個類,當(dāng)對象是類的實例時,返回true,否則返回false。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
運(yùn)行結(jié)果:
true
true
false
true
true
false
3) typeof運(yùn)算符
typeof運(yùn)算符是一元運(yùn)算符,放在一個變量之前,這人運(yùn)算數(shù)可以是
任何類型,返回一個字符串,說明運(yùn)算數(shù)的類型。
Ø 數(shù)字:返回number
Ø 字符串:返回string
Ø 布爾型:返回boolean
Ø 對象、數(shù)組、null:返回object
Ø 未定義變量:返回undefined
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
運(yùn)行結(jié)果:
number
string
boolean
object
object
object
undefined
4) delete運(yùn)算符
delete運(yùn)算符是個一元運(yùn)算符,它可以刪除對象的屬性、數(shù)組或變量。如果刪除成功,返回true,如果不能刪除,返回false。但并非所以屬性和變量都是可以刪除的,某些內(nèi)部核心屬性和客戶端屬性不能刪除,如果試圖刪除時會發(fā)生運(yùn)行時的錯誤。用var關(guān)鍵字定義的變量也不能刪除。如果delete刪除一個不存在的屬性時,返回true。
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
運(yùn)行結(jié)果:
true
undefined
true
false
不能刪除 '[number]'
true
'x' 未定義
5) void運(yùn)算符
void是一元運(yùn)算符,它可以出現(xiàn)在任何類型變量之前,有兩個用處:
Ø 舍棄運(yùn)算數(shù)的值,如函數(shù),然后返回undefined
Ø 生成undefined
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
運(yùn)行結(jié)果:
ddxkj
undefined
undefined
相關(guān)文章
JavaScript數(shù)組的快速克隆(slice()函數(shù))和數(shù)組的排序、亂序和搜索(sort()函數(shù))
JavaScript數(shù)組的快速克隆(slice()函數(shù))和數(shù)組的排序、亂序和搜索(sort()函數(shù))...2006-12-12

css配合JavaScript實現(xiàn)tab標(biāo)簽切換效果