- 網際網路基礎
- 主頁
- 網際網路概述
- 內聯網概述
- 外聯網概述
- 網際網路參考模型
- 網際網路域名系統
- 網際網路服務
- 網際網路連線
- 網際網路協議
- 電子郵件基礎
- 電子郵件概述
- 電子郵件協議
- 電子郵件工作原理
- 電子郵件操作
- 電子郵件功能
- 電子郵件禮儀
- 電子郵件安全
- 電子郵件提供商
- 網站開發
- 網站概述
- 網站型別
- 網站設計
- 網站開發
- 網站釋出
- 網站URL註冊
- 網站託管
- 網站安全
- 搜尋引擎最佳化
- 網站盈利模式
- 全球資訊網
- 全球資訊網概述
- 網頁
- 網頁瀏覽器
- Web伺服器
- 代理伺服器
- 搜尋引擎
- 網際網路協作
- 協作概述
- 郵件列表
- Usenet新聞組
- 線上教育
- 社交網路
- 網際網路安全與隱私
- 網際網路安全概述
- 資料加密
- 數字簽名
- 防火牆安全
- 網際網路Web程式設計
- HTML
- CSS
- JavaScript
- PHP
- 網際網路有用資源
- 網際網路快速指南
- 網際網路有用資源
- 網際網路討論
JavaScript
簡介
JavaScript 是一種輕量級、解釋型的程式語言,具有面向物件的功能,允許您在靜態 HTML 頁面中構建互動性。
JavaScript 程式碼不會被編譯,而是由直譯器進行翻譯。此直譯器嵌入在瀏覽器中,負責翻譯 JavaScript 程式碼。
關鍵點
它是輕量級的解釋型程式語言。
它專為建立網路中心應用程式而設計。
它與 Java 相互補充並整合。
它與 HTML 相互補充並整合。
它是一個開放的跨平臺語言。
JavaScript語句
JavaScript 語句是命令瀏覽器執行操作的指令。語句之間用分號 (;) 分隔。
JavaScript 語句構成 JavaScript 程式碼,瀏覽器逐行翻譯。
JavaScript 語句示例
document.getElementById("demo").innerHTML = "Welcome";
下表顯示了各種 JavaScript 語句:
| 序號 | 語句 | 描述 |
|---|---|---|
| 1. | switch case | 一段語句塊,其中程式碼的執行取決於不同的情況。直譯器會將每個 case 與表示式的值進行比較,直到找到匹配項。如果沒有任何匹配項,則將使用default條件。 |
| 2. | If else | if 語句是基本的控制語句,允許 JavaScript 進行決策並有條件地執行語句。 |
| 3. | While | while 迴圈的目的是隻要表示式為真就重複執行語句或程式碼塊。一旦表示式變為假,迴圈將退出。 |
| 4. | do while | 至少執行一次的語句塊,並在條件為真的情況下繼續執行。 |
| 5. | for | 與 while 迴圈相同,但初始化、條件和增量/減量都在同一行完成。 |
| 6. | for in | 此迴圈用於迴圈遍歷物件的屬性。 |
| 7. | continue | continue 語句告訴直譯器立即開始迴圈的下一迭代,並跳過剩餘的程式碼塊。 |
| 8. | break | break 語句用於提前退出迴圈,跳出封閉的大括號。 |
| 9. | function | 函式是一組可重用的程式碼,可以在程式的任何地方呼叫。關鍵字 function 用於宣告函式。 |
| 10. | return | return 語句用於從函式返回一個值。 |
| 11. | var | 用於宣告變數。 |
| 12. | try | 實現錯誤處理的語句塊。 |
| 13. | catch | 發生錯誤時執行的語句塊。 |
| 14. | throw | 用於丟擲錯誤。 |
JavaScript 註釋
JavaScript 支援 C 樣式和 C++ 樣式的註釋,因此
任何在 // 和行尾之間的文字都被視為註釋,JavaScript 會忽略。
任何在字元 /* 和 */ 之間的文字都被視為註釋。這可能跨越多行。
JavaScript 還識別 HTML 註釋起始序列 <!--。JavaScript 將其視為單行註釋,就像 // 註釋一樣。-->
HTML 註釋結束序列 --> JavaScript 不識別,因此應寫為 //-->。
示例
<script language="javascript" type="text/javascript">
<!--
// this is a comment. It is similar to comments in C++
/*
* This is a multiline comment in JavaScript
* It is very similar to comments in C Programming
*/
//-->
<script>
JavaScript 變數
變數被稱為用於儲存資訊的命名容器。我們可以將資料放入這些容器中,然後只需命名容器即可引用資料。
在 JavaScript 中宣告變數的規則
以下是宣告 JavaScript 變數時必須遵循的重要規則。
在 JavaScript 中,變數名區分大小寫,即 a 與 A 不同。
變數名只能以下劃線 (_) 或字母 (a 到 z 或 A 到 Z) 或美元符號 ($) 開頭。
數字 (0 到 9) 只能在字母之後使用。
變數名中不允許使用其他特殊字元。
在 JavaScript 程式中使用變數之前,必須先宣告它。變數使用 var 關鍵字宣告,如下所示:
<script type="text/javascript">
<!--
var money;
var name, age;
//-->
</script>
變數可以在宣告時初始化,也可以在聲明後初始化,如下所示:
<script type="text/javascript">
<!--
var name = "Ali";
var money;
money = 2000.50;
//-->
</script>
Javascript 資料型別
如下所述,有兩種資料型別:
原始資料型別
非原始資料型別
下表描述了 JavaScript 中可用的原始資料型別
| 序號 | 資料型別 描述 |
|---|---|
| 1. | String 可以包含作為單個值的字元組。它用雙引號表示。例如,var x = “tutorial”。 |
| 2. | Numbers 包含帶或不帶小數的數字。例如,var x = 44,y = 44.56; |
| 3. | Booleans 僅包含 true 或 false 兩個值。例如,var x = true,y = false。 |
| 4. | Undefined 沒有值的變數稱為 Undefined。例如,var x; |
| 5. | Null 如果我們將 null 分配給變數,它將變為空。例如,var x = null; |
下表描述了 JavaScript 中的非原始資料型別
| 序號 | 資料型別 描述 |
|---|---|
| 1. | Array 可以包含相同型別的多個值。例如,var x = {1,2,3,55}; |
| 2. | Objects 物件儲存在屬性和值對中。例如,var rectangle = { length: 5, breadth: 3}; |
JavaScript 函式
函式是一組可重用的語句(程式碼),可以在程式的任何地方呼叫。在 JavaScript 中,函式關鍵字用於宣告或定義函式。
關鍵點
要定義函式,請使用 function 關鍵字,後跟函式名,後跟括號 ()。
在括號中,我們定義引數或屬性。
可重用語句(程式碼)組用大括號 {} 括起來。每當呼叫函式時,都會執行此程式碼。
語法
function functionname (p1, p2) {
function coding…
}
JavaScript 運算子
運算子用於對一個、兩個或多個運算元執行運算。運算子由符號表示,例如 +、=、*、% 等。以下是 JavaScript 支援的運算子:
算術運算子
比較運算子
邏輯(或關係)運算子
賦值運算子
條件(或三元)運算子
算術運算子
算術運算子
下表顯示了 JavaScript 支援的所有算術運算子:
| 運算子 | 描述 | 示例 |
|---|---|---|
| + | 將兩個運算元相加。 | 10 + 10 將得到 20 |
| - | 從第一個運算元中減去第二個運算元。 | 10 – 10 將得到 0 |
| * | 將兩個運算元相乘。 | 10 * 30 將得到 300 |
| / | 將分子除以分母 | 10/10 將得到 1 |
| % | 稱為模運算子,給出除法的餘數。 | 10 % 10 將得到 0 |
| ++ | 增量運算子,將整數值增加一 | 10 ++ 將得到 11 |
| -- | 減量運算子,將整數值減少一 | 10 -- 將得到 9 |
比較運算子
下表顯示了 JavaScript 支援的所有比較運算子:
| 運算子 | 描述 | 示例 |
|---|---|---|
| == | 檢查兩個運算元的值是否相等,如果相等,則條件為真。 | 10 == 10 將得到 true |
| != | 不相等運算子 檢查兩個運算元的值是否相等,如果不相等,則條件為真。 | 10 != 10 將得到 false |
| > | 大於運算子 檢查左運算元的值是否大於右運算元的值,如果大於,則條件為真。 | 20 > 10 將得到 true |
| < | 小於運算子 檢查左運算元的值是否小於右運算元的值,如果小於,則條件為真。 | 10 < 20 將得到 true |
| >= | 大於或等於運算子 檢查左運算元的值是否大於或等於右運算元的值,如果大於或等於,則條件為真。 | 10 >= 20 將得到 false |
| <= | 小於或等於運算子 檢查左運算元的值是否小於或等於右運算元的值,如果小於或等於,則條件為真。 | 10 <= 20 將得到 true。 |
邏輯運算子
下表顯示了 JavaScript 支援的所有邏輯運算子:
| 運算子 | 描述 | 示例 |
|---|---|---|
| && | 邏輯AND運算子如果兩個運算元均非零,則返回 true。 | 10 && 10 將得到 true。 |
| || | 邏輯OR運算子如果任何一個運算元非零,則返回 true | 10 || 0 將得到 true。 |
| ! | 邏輯NOT運算子對其運算元的邏輯狀態取反。 | ! (10 && 10) 將返回 false。 |
賦值運算子
下表顯示了 JavaScript 支援的所有賦值運算子:
| 運算子 | 描述 | 示例 |
|---|---|---|
| = | 簡單賦值運算子 將右側運算元的值賦給左側運算元。 | C = A + B 將 A + B 的值賦給 C |
| += | 加法賦值運算子 它將右側運算元加到左側運算元上,並將結果賦給左側運算元。 | C += A 等價於 C = C + A |
| -= | 減法賦值運算子 它將右側運算元從左側運算元中減去,並將結果賦給左側運算元。 | C -= A 等價於 C = C - A |
| *= | 乘法賦值運算子 它將右側運算元乘以左側運算元,並將結果賦給左側運算元。 | C *= A 等價於 C = C * A |
| /= | 除法賦值運算子 它將左側運算元除以右側運算元,並將結果賦給左側運算元。 | C /= A 等價於 C = C / A |
| %= | 取模賦值運算子 取模賦值運算子,它使用兩個運算元進行取模運算,並將結果賦給左側運算元。 | C %= A 等價於 C = C % A |
條件運算子
它也稱為三元運算子,因為它有三個運算元。
| 運算子 | 描述 | 示例 |
|---|---|---|
| ?: | 條件表示式 | 如果條件為真?則值為 X:否則值為 Y |
控制結構
控制結構實際上控制程式的執行流程。以下是 JavaScript 支援的幾種控制結構。
if … else
switch case
do while 迴圈
while 迴圈
for 迴圈
If … else
if 語句是基本的控制語句,它允許 JavaScript 進行決策並有條件地執行語句。
語法
if (expression){
Statement(s) to be executed if expression is true
}
示例
<script type="text/javascript">
<!--
var age = 20;
if( age > 18 ){
document.write("<b>Qualifies for driving</b>");
}
//-->
</script>
switch case
switch 語句的基本語法是提供一個要計算的表示式和幾個不同的語句,這些語句根據表示式的值執行。直譯器將每個 case 與表示式的值進行比較,直到找到匹配項。如果沒有匹配項,則將使用預設條件。
語法
switch (expression) {
case condition 1: statement(s)
break;
case condition 2: statement(s)
break;
...
case condition n: statement(s)
break;
default: statement(s)
}
示例
<script type="text/javascript">
<!--
var grade='A';
document.write("Entering switch block<br/>");
switch (grade) {
case 'A': document.write("Good job<br/>");
break;
case 'B': document.write("Pretty good<br/>");
break;
case 'C': document.write("Passed<br/>");
break;
case 'D': document.write("Not so good<br/>");
break;
case 'F': document.write("Failed<br/>");
break;
default: document.write("Unknown grade<br/>")
}
document.write("Exiting switch block");
//-->
</script>
Do while 迴圈
do...while 迴圈類似於 while 迴圈,只是條件檢查發生在迴圈的末尾。這意味著即使條件為假,迴圈也將至少執行一次。
語法
do{
Statement(s) to be executed;
} while (expression);
示例
<script type="text/javascript">
<!--
var count = 0;
document.write("Starting Loop" + "<br/>");
do{
document.write("Current Count : " + count + "<br/>");
count++;
}while (count < 0);
document.write("Loop stopped!");
//-->
</script>
這將產生以下結果:
Starting Loop Current Count : 0 Loop stopped!
While 迴圈
while 迴圈的目的是隻要表示式為真就重複執行語句或程式碼塊。一旦表示式變為假,迴圈將退出。
語法
while (expression){
Statement(s) to be executed if expression is true
}
示例
<script type="text/javascript">
<!--
var count = 0;
document.write("Starting Loop" + "<br/>");
while (count < 10){
document.write("Current Count : " + count + "<br/>");
count++;
}
document.write("Loop stopped!");
//-->
</script>
這將產生以下結果:
Starting Loop Current Count : 0 Current Count : 1 Current Count : 2 Current Count : 3 Current Count : 4 Current Count : 5 Current Count : 6 Current Count : 7 Current Count : 8 Current Count : 9 Loop stopped!
For 迴圈
for 迴圈是最緊湊的迴圈形式,包括以下三個重要部分:
迴圈初始化,我們將計數器初始化為起始值。初始化語句在迴圈開始之前執行。
測試語句,它將測試給定條件是否為真。如果條件為真,則將執行迴圈中給出的程式碼,否則迴圈將退出。
迭代語句,你可以在其中增加或減少計數器。
語法
for (initialization; test condition; iteration statement){
Statement(s) to be executed if test condition is true
}
示例
<script type="text/javascript">
<!--
var count;
document.write("Starting Loop" + "<br/>");
for(count = 0; count < 10; count++){
document.write("Current Count : " + count );
document.write("<br/>");
}
document.write("Loop stopped!");
//-->
</script>
這將產生與 while 迴圈類似的結果:
Starting Loop Current Count : 0 Current Count : 1 Current Count : 2 Current Count : 3 Current Count : 4 Current Count : 5 Current Count : 6 Current Count : 7 Current Count : 8 Current Count : 9 Loop stopped!
建立示例程式
以下是一個示例程式,它顯示單擊按鈕時的當前時間。
<html>
<body>
<button onclick="this.innerHTML=Date()">The time is?</button>
<p>Click to display the date.</p>
<button onclick="displayDate()">The time is?</button>
<script>
function displayDate() {
document.getElementById("demo").innerHTML = Date();
}</script>
<p id="demo"></p>
</script>
</body>
</html>
輸出