1.1 什么是java script?
Java script是Web頁面中的一種腳本編程語言,也是一種通用的、跨平台的、基於對象和事件驅動並具有安全性的腳本語言。
1.2 JS的三大組成部分:
①ECMA Script:代表了語言的標准和規范;
·描述了語言的基本語法和數據類型。
②BOM:代表了瀏覽器;
·描述了瀏覽器窗口的操作和使用,被稱為瀏覽器對象模型,抽象出的對象為Windows;
·通過BOM可以操作瀏覽器,比如:彈出框、瀏覽器跳轉和獲取分辨率等。
③DOM:代表了頁面;
·描述了在瀏覽器中呈現給用戶視覺顯示的操作和使用,被稱為文檔對象模型,抽象出來的對象為Document;
·可以操作頁面中的元素,比如:增加個div,減少個div或者給div換個位置等。
1.3 java script的地位:
Java script是前端開發工程師必須掌握的三種技能之一:
·描述網頁內容的HTML;
·描述網頁樣式的CSS;
·描述網頁行為的Java Script。
1.4 java script的作用:
Java script不需要進行編譯,而是直接嵌入在HTML頁面中,把靜態頁面轉變成支持用戶交互並響應事件的動態頁面。
1.5 java script在HTML中的使用方式:
·內嵌式:在HTML文件中直接使用<script></script>標記將JavaScript腳本嵌入其中;
<body>
<script>alert("沒有人點,我也hello world");</script>
</body>
·外鏈式:將代碼放置在一個單獨的.js文件中,使用時用script標簽的src屬性引入:
<body>
<script src="./hello.js"></script>
</body>
·行內式:將代碼放置在HTML標簽內,通過行為觸發:
<body>
<input type="button" onclick="alert('hello world')" value="點我試試">
</body>
1.6 注意:
·內嵌和外聯不能共用一個script標簽;
·外鏈的script標簽原則上可以放在任何位置;
·外鏈的屬性是src。
2.1執行順序:
·JavaScript程序按照在HTML文件中出現的順序逐行執行。
·函數體內的代碼,不會被立即執行,只有當所在的函數被調用時,該代碼才會被執行。
2.2大小寫敏感:
·JavaScript嚴格區分大小寫,在輸入語言的關鍵字、函數名、變量以及其他標識符時,都必須采用正確的大小寫形式。
2.3空格與換行:
·在JavaScript中會忽略程序中的空格和換行,除非這些符號是字符串或者正則表達式的一部分;
·JavaScript中的換行有“斷句”的意思,即換行能判斷一個語句是否已經結束。
2.4 每行結尾的分號可有可無:
·最好的代碼編寫習慣是在每行代碼的結尾處加上分號,這樣可以保證代碼的准確性。
2.5注釋:
①注釋的作用:
·可以解釋程序某些語句的作用和功能,通常用於代碼的解釋說明;
·可以暫時屏蔽某些語句,是瀏覽器對其暫時忽略,通常用於代碼的調試。
②注釋的分類:
·單行注釋:“//”;
·多行注釋:“/*...*/”。
3.1數據類型:
·在JavaScript腳本語言中,采用的是弱類型的方式,即一個數據(變量或常量)不必先做聲明,可以使用或賦值時,再確定其數據的類型。
3.1.1數值型:
·數值(Number)是最基本的數據類型。
·JavaScript和其他程序設計語言(如C和Java)的不同之處在於,它並不區別整型數值和浮點數值,所有的數值都是由浮點型表示的。
3.1.2字符串型:
·字符串(String)是由Unicode字符、數字、標點符號等組成的序列,它是JavaScript用來表示文本的數據類型。
3.1.3布爾型:
·布爾值通常在JavaScript程序中用來比較所得的結果,用於JavaScript的控制結構。
3.1.4特殊數據類型
3.1.4.1轉義字符:
·以反斜杠開頭的不可顯示的特殊字符通常稱為轉義字符;
·常用的轉義字符:
| 轉義字符 |
說明 |
轉義字符 |
說明 |
| \b |
退格 |
\v |
跳格 |
| \n |
回車換行 |
\r |
換行 |
| \t |
Tab符號 |
\\ |
反斜杠 |
| \f |
換頁 |
\ooo |
八進制數,范圍為000-777 |
| \’ |
單引號 |
\xHH |
十六進制整數,范圍為00-FF |
| \” |
雙引號 |
\uhhhh |
十六進制編碼的Unicode字符 |
·在“document.write()”語句中使用轉義字符時,只有將其放在格式化文本塊中才會起作用,所以腳本必須在<pre>和</pre>標記內。
<script>
document.write("<pre>");
document.write("輕松學習\nJavaScript語言!");
document.write("</pre>");
</script>
3.1.4.2未定義值(undefined)
·未定義類型的變量是undefined,表示變量未賦值或者被賦予了一個不存在的值;
·當程序由於某種原因發生錯誤后,將產生一個沒有意義的數字,即NaN。
3.1.4.3 空值(null)
·用於定義空或不存在的引用。如果試圖引用一個沒有定義的變量,則返回一個null值;
·null不等於空的字符串(“”)或0;
·Null和undefined的區別:null表示一個變量被賦予一個空值,而undefined則表示該變量尚未被賦值。
3.2常量和變量:
·程序執行過程中,其值不能被改變的稱為常量,其值能被改變的是變量。
3.2.1常量:
·常量是指在程序運行過程中保持不變的數據。
3.2.2變量:
·變量是指程序中一個已經命名的存儲單元,其主要作用就是為數據操作提供存放信息的容器。
3.2.2.1 變量的命名規則:
·必須以字母或下划線開頭,中間可以是數字、字母或下划線;
·不能包含空格、加號、減號等符號;
·不能適用JavaScript中的關鍵字和保留字;
·嚴格區分大小寫。
3.2.2.2變量的聲明與復制:
聲明變量所遵循的規則:
·可以使用一個關鍵字var同時聲明多個變量,例如:
<script>
var a,b,c; //同時聲明多個變量
</script>
·可以在聲明變量的同時對其賦值,即進行初始化,例如:
<script>
var a = 3,b = 4,c = 5; //同時聲明多個變量,並對其賦值
</script>
·如果只是聲明了變量,並未對其賦值,則其默認值為undefined;
·可以使用var語句多次聲明同一個變量,如果重復聲明的變量已經有一個初始值,那么此時相當於重新賦值;
3.2.2.3變量的作用域:
①:變量的作用域是指變量在程序中的有效范圍;
②分類:
·全局變量:是定義在所有函數之外,作用於整個腳本代碼的變量;
·局部變量:是定義在函數體內,只作用於函數體的變量(函數的參數也是局部性的,只在函數內部起作用);
③補充:
·給一個尚未聲明的變量賦值時,JavaScript會自動用該變量名創建一個全局變量;
·要創建一個局部變量,不需要賦值給一個已經存在的局部變量,只需要用var聲明;
3.2.2.4變量的生存期:
·變量的生存期是指變量在計算機中存在的有效時間:
·全局變量在主程序中定義,其有效范圍從其定義開始,一直到本程序結束;
·局部變量在函數中定義,其有效范圍從函數定義開始,到函數結束;
3)打印方式:
①alert( 要顯示的信息或變量 )→彈出警告框;
②document.write( 要顯示的信息或變量 )→在頁面上打印;
③console.log( 要顯示的信息或變量 )→在控制台輸出。
補:
①關鍵字:typeof
②typeof 數據或變量;
typeof( 數據或變量 );
③typeof typeof 任何數據 結果必然是string
