WEB01_Day04(中)-JavaScript概述、JS語法、JS控制頁面元素內容
一、JavaScript概述
1.1 定義
JavaScript簡稱(JS),當前它是一個指令碼語言,負責給前端頁面新增動態效果。
1.2 特徵
-
弱型別語言,宣告變數不需要指定對應的資料型別
-
指令碼語言,不需要像Java程式碼一樣編譯,通過瀏覽器進行解析執行
-
互動性強,可以單獨理解成它是一個語言,可以巢狀在html中進行使用
-
面向物件程式設計的語言,和Java中的面向物件程式設計思想相似
-
安全性高,JavaScript語言只能訪問瀏覽器內部的資料,而外部的資料,像磁碟中的資料內容無法訪問
1.3 JS使用
-
內聯:可以在標籤的事件中新增js程式碼邏輯,當事件觸發的時候進行執行js的程式碼邏輯
例如:<input type="button" value="普通按鈕" onclick="alert('內聯引入')">
-
內部:在html頁面中新增<script></script>,在標籤內部進行書寫相關邏輯的js程式碼
<script type="text/javascript">
alert('內部引入');
</script>
-
外部:單獨新建js檔案,在js檔案中進行書寫相關邏輯的js程式碼,然後在html頁面中通過script的src屬性進行引用外部js的檔案路徑位置
1.4 案例測試
js01.html
test01.js
// 單行註釋
/*
* 多行註釋
*/
alert("外部引入js");
二、JS語法
2.1 變數
-
var x=10;
-
var d=3.14;
-
x=”今天是星期六”;
-
var p = new Person();
-
var b = true/false;
2.2 資料型別
-
JavaScript 不分基本資料型別和引用資料型別,統稱物件型別。
-
數值:number相當於java中所有數值型別的總和
-
字串:string 可以用單引號或雙引號修飾
-
布林值: boolean true/false
-
未定義: undefined 當變數只宣告不賦值型別為undefined
undefined與null是劃等號的,比較的結果為true
-
自定義物件型別: Hero Airplane Bullet Person Son object
-
typeof (變數) 獲取變數的型別 typeof(66 + 6) number型別
測試結果:
number number string string undefined object Sat Aug 14 2021 21:03:31 GMT+0800 (中國標準時間) 判斷未定義變數e和null是否相等:true
2.3 運算子
-
算術運算子:+-*/%
-
除法運算: 會自動根據結果轉換整數還是小數
-
Java: int x = 5; int y=2 x/y=2
-
JS: var x=5; var y=2 x/y=2.5;
-
-
關係運算符:> < >= <= != == ===
-
= =:先統一兩個變數的型別再比較值是否相等 “666”==666 true
-
= = =:先比較型別是否相等相等之後再比較值是否相等 “666”===666 false
-
-
邏輯運算子:&& || !
-
賦值運算子:= += -= *= /= %= ++ --
-
三目運算子:?:
2.4 流程控制語句
分支:
-
使用 if 來規定要執行的程式碼塊,如果指定條件為 true
-
使用 else 來規定要執行的程式碼塊,如果相同的條件為 false
-
使用 else if 來規定要測試的新條件,如果第一個條件為 false
-
使用 switch 來規定多個被執行的備選程式碼塊
迴圈:
-
for - 多次遍歷程式碼塊
-
for/in - 遍歷物件屬性
-
while - 當指定條件為 true 時迴圈一段程式碼塊
-
do/while - 當指定條件為 true 時迴圈一段程式碼塊
2.5 方法
-
常用的四種方法:
-
無參無返回值 2. 無參有返回值 3. 有參無返回值 4. 有參有返回值
-
三種宣告方法的方式:
function 方法名(引數列表){方法體}
var 方法名 = function(引數列表){方法體}
var 方法名 = new Function(“引數1”,“引數2”,“方法體”);