javascript 基礎簡介 適合新手學習

來源:互聯網
上載者:User

1. 關於JavaScript簡單介紹
Ø 在網路或書籍所說的JavaScript大部分指用戶端JavaScript。
Ø JavaScript是一種輕量型、解釋型、物件導向的程式設計語言。
Ø JavaScript特性
1) 控制文檔的外觀和內容
2) 控制瀏覽器
3) 和HTML表單的互動
4) 和使用者的互動
5) 用Cookie讀寫使用者狀態
6) 其它
2. 詞法結構
2.1. 字元集
JavaScript程式是用Unicode字元集編寫的。
2.2. 區分大小寫
JavaScript是一種區分大小寫語言。
2.3. 注釋
//://後一行的任何文本都被注釋
/**/:處於/**/之間的任何文本都被注釋
2.4. 直接量
直接量:直接在程式中出現的資料值
12 //數字1.2 //數字"hello world" //字串'Hi' //字串true //布爾值false //布爾值/JavaScript/gi //Regexnull //Null 物件{ x:1, y:2 } //對象初始化程式[1,2,3,4,5] //數組初始化程式2.5. 標識符
標識符其實就是一個名字。在JAVASCRIPT中,標識符用來命名變數、函數或用於在
JAVASCRIPT代碼中某些迴圈的標籤。
標識符命名規則,首個字元必須是字母、底線或美元字元,接下來字母、數字、底線或美元字元。數字不允許作為首個字元,這樣JAVASCRIPT就可以輕易區分標識符和數字。
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. 資料類型和值
3.1. 數字
在JavaScript中,數字不分為整數類型和浮點型類型,所有的數字都是由
浮點型類型。JavaScript採用IEEE754標準定義的64位浮點格式表示數字,它能表示最大值為±1.7976931348623157 x 10308,最小值為±5 x 10 -324
3.2. 字串
在JavaScript中,字串是由Unicode字元、數字、標點符號等組成的序
列,用'或"都可以表示一個字串。
3.3. 布爾型
在JavaScript中,布爾型類型只有true和false兩種值。
3.4. 函數
在JavaScript中,函數被看作是一種資料類型。例如:var square = function(x) { return x*x; } 3.5. 對象
3.6. 數組
3.7. null
JAVASCRIPT的關鍵字null是一個特殊的值,它表示”無值”。Null常常被看作物件類型的一個特殊值,既代表”無對象”的值。Null是個獨一無二的值,有別於其它所有的值。如果一個變數的值為null,那麼你就會知道它的值不是有效對象、數組、數字式、字串和布爾值。
3.8. undefined
當以下幾種情況時,會產生undefined:
Ø 使用了並未聲明的變數
Ø 使用了已經聲明,但還沒有被賦值的變數
Ø 使用了對象並不存在的屬性


[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

運行結果:
undefined
undefined
'test2' 未定義
3.9. Date對象
3.10. Regex
3.11. Error對象
3.12. 基礎資料型別 (Elementary Data Type)的封裝對象
4. 變數
4.1. JavaScript變數特點
在JavaScript中,變數有以下特點:
Ø 可以調用沒有經過聲明變數,例如:i=1;alert(i);
Ø 變數可以儲存任何資料類型的值,例如:i=1;i='ddxkj';
4.2. 聲明變數
提倡使用var關鍵字顯式聲明變數,例如:var i = 100;如果你沒有顯式聲
明一個變數,JAVASCRIPT會幫你隱式聲明它。如果使用var顯式定義了一個變數,但沒有賦值前,它了初始值是undefined
由var聲明的變數是永久性的,也就是說,用delete運算子刪除這些變數時會引發錯誤。
4.2.1. 重複的聲明和遺漏的聲明
使用var語句多次聲明同一個變數不僅是合法的,而且也不會造成任何錯誤。
如果嘗試讀一個未聲明的變數的值,JAVASCRIPT會產生一個錯誤。如果嘗試給一個未
用var聲明的變數賦值時,JAVASCRIPT會隱式聲明該變數。但是要注意,隱式聲明的變數總是被建立為全域變數,即使該變數只在一個函數體內使用。例如:
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

運行結果:
ddddd
ddddd
aaa
4.3. 變數的範圍
一個變數的範圍是程式中定義這個變數的地區。全域變數的範圍是全域性的,即在JAVASCRIPT代碼中,它處處可以被調用。而在函數之內聲明的變數和函數的參數,就只在函數體內有定義。它們是局部變數,範圍是局部的。
在函數體內部,局部變數使用的優先順序高於同名的全域變數。當在函數體內部,定義了一個和全域變數同名的局部變數,那麼全域變數就會被隱藏。所以要盡量避免這樣一種情況,如果函數使用的是全域變數,而不是局部變數,那就有可能改變程式其它函數所使用該全部變數的值,而產生一些難於發現的問題。
4.3.1. 沒有塊級範圍
不同於JAVA或C語言,JavaScript是沒有塊級範圍。在函數體是,不論在什麼位置定義了局部變數,局部變數在整個函數體內都可以被使用。例如:
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

運行結果:
0
1
2
3
4
5
6
7
8
9
10
100
當一個函數中,定義了一個和全域變數同名的局部變數時,往往結果不編寫人員所想要的。例如:
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

運行結果:
undefined
local
4.3.2. 未聲明的變數和未賦值的變數
Ø 未聲明的變數:讀取未聲明的變數時,會引起運行時的錯誤,而使程式中止。
Ø 未賦值的變數:讀取未賦值的變數時,將會得到一個預設值,即undefined。
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

運行結果:
'i' 未定義
undefined
4.4. 基本類型和參考型別
基本類型:數值、布爾值、null、未定義的值
參考型別:數組、對象、函數
4.5. 變數特殊運算子
1) in運算子
in運算子要求其左邊的運算數是一個字串,或以可轉換為字串,右邊的運算數是一個對象或數組。如果該運算子左邊的值是其右邊對象的一個屬性名稱,它返回true,否則為false。
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

運行結果:
true
true
false
true
2) instanceof運算子
instanceof運算子要求其左邊運算數是一個對象,右邊是一個類,當對象是類的執行個體時,返回true,否則返回false。
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

運行結果:
true
true
false
true
true
false
3) typeof運算子
typeof運算子是一元運算子,放在一個變數之前,這人運算數可以是
任何類型,返回一個字串,說明運算數的類型。
Ø 數字:返回number
Ø 字串:返回string
Ø 布爾型:返回boolean
Ø 對象、數組、null:返回object
Ø 未定義變數:返回undefined
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

運行結果:
number
string
boolean
object
object
object
undefined
4) delete運算子
delete運算子是個一元運算子,它可以刪除對象的屬性、數組或變數。如果刪除成功,返回true,如果不能刪除,返回false。但並非所以屬性和變數都是可以刪除的,某些內部核心屬性和用戶端屬性不能刪除,如果試圖刪除時會發生運行時的錯誤。用var關鍵字定義的變數也不能刪除。如果delete刪除一個不存在的屬性時,返回true。 </p><p>
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

運行結果:
true
undefined
true
false
不能刪除 '[number]'
true
'x' 未定義
5) void運算子
void是一元運算子,它可以出現在任何類型變數之前,有兩個用處:
Ø 捨棄運算數的值,如函數,然後返回undefined
Ø 產生undefined
[Ctrl+A 全選 注:如需引入外部Js需重新整理才能執行]

運行結果:
ddxkj
undefined
undefined

相關文章

聯繫我們

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