javascript: 基於瀏覽器 基於對象 事件驅動 腳本語言 由: javascript: ECMAscript(ES) DOM文檔對象模型 BOM瀏覽器對象模型,三部分組成 使用js的三種方式 1.HTML標簽中內嵌js:<button ondblclick="javascript:alert ...
javascript: 基於瀏覽器 基於對象 事件驅動 腳本語言 由: javascript: ECMAscript(ES) DOM文檔對象模型 BOM瀏覽器對象模型,三部分組成 使用js的三種方式 1.HTML標簽中內嵌js:<button ondblclick="javascript:alert('ssas')">點我呀!!!</button> 不建議使用 2.在HTML頁面中直接使用: <script type="text/javascript"> //js代碼 </script> 3.引用外部js文件: <script language="JavaScript" src=""></script> [註意事項] ①.頁面中js代碼與引用js代碼可以嵌入到頁面的任何位置,但是位置不同,會影響到js代碼的執行順序; 例如<script></script>在body前面會在頁面載入之前執行js代碼 ②.頁面中js代碼使用type屬性引用外部的js文件使用的是language。 ③.引用外部js文件的script標簽必須成對出現,且標簽內部不能有任何代碼 賦值: 使用var聲明變數只在當前函數作用域有效 不使用var,直接賦值生成的變數,預設為全局變數,整個js文件有效 var a,b,c=1;同一聲明語句,同時聲明多個變數,變數之間用英文逗號,分隔。 變數的命名規範: ①變數名只能有字母數字_$組成 ②開頭不能是數字 ③變數區分大小寫,大寫與小寫為不同變數 js中的變數的數據類型 undefined:未定義,用var聲明的變數,沒有進行初始化賦值 var a null:表示空的引用。 var a = null boolean:真假,可選值 true/false number:數值類型,可以是小數,也可以是整數 string:字元串類型。用""或''包裹的內容稱為字元串。 object(複雜數據類型) js中的輸出語句: 輸出語句,將write的()中的內容列印在瀏覽器屏幕上; * 使用時註意:除變數/常量以外的任何內容,列印時必須放到""中。變數/常量必須放到""外 * 列印的內容同時有多部分組成時,之間用+連接 彈窗輸出: alart() 彈窗輸入:promp() 運算符的優先順序 () ! ++ -- % / * + - > < >= <= == != && || 各種賦值= += *= /= %= 分支結構: if-else結構 if()中的表達式,運算之後的結果應該為: ① boolean:true 真 false 假 ② 字元串:非空字元串為真 空字元串為假 ③ Number:0為假 非0均為真 ④ Null/NaN/Undefined:全是假 ⑤ Object類型:全是真 多重if,階梯if 多重if結構中,各個判斷條件是互斥的!只能選擇其中一條路 嵌套if結構 if結構可以多重嵌套,但是原則上不超過3層 switch-case結構 註意事項: ① switch()中的表達式以及每個case後面的表達式可以為任何js支持的數據類型(對象和數組不行); ② case後面的所有常量表達式,必須各不相同,否則只會執行第一個; ③ case後面的常量可以是任何數據類型(對象和數組不行);同一個switch結構的不同case,可以是多種不同的數據類型 ④ switch在進行判斷的時候,採用的是全等判斷 ⑤ break的作用:執行完case代碼後,跳出當前switch結構; 若缺少break的後果:從正確的case項開始,依次執行所有的case和default ⑥ switch結構在判斷時,當遇到正確的case項後將會不再判斷後續項目。依次向下執行 ⑦ switch結構的執行速率要快於多重if結構。在多路分支時,可優先考慮使用switch結構 迴圈結構: for迴圈 for迴圈有三個表達式,分別為: ①定義迴圈變數 ②判斷迴圈條件 ③更新迴圈變數 三個表達式之間用;分隔 1. for迴圈三個表達式均可省略,但是兩個;缺一不可 2.for迴圈特點:先判斷,再執行 3.for迴圈三個表達式,均可有多部分組成,之間用,分隔。但是第二部分判斷條件需要用&&連接,最終結果為真/假 while迴圈 先判斷,再執行 do-while迴圈 先執行,再判斷;即使初始條件不成立,do-while也至少迴圈1次