課堂講義
1.1、物件導向介紹
-
-
在 JavaScript 中同樣也有物件導向。思想類似。
1.2、類的定義和使用
-
結構說明
-
程式碼實現
1.3、字面量類的定義和使用 ***
-
結構說明
-
這個其實是直接建立了一個物件
-
在定義類裡邊的變數和方法的時候,直接就建立了這個類的物件
-
字面量:就是從程式碼字面意思就知道是啥型別
-
而物件的字面量就是一對大括號 意思就是,以後我們看到給變數賦值時,等號右邊是一對大括號,那就知道宣告的這個變數就是一個物件
-
-
程式碼實現
1.4、繼承
-
繼承:讓類與類產生子父類的關係,子類可以使用父類有許可權的成員。
-
繼承關鍵字:extends
-
頂級父類:Object
1.5、小結
-
物件導向
把相關的資料和方法組織為一個整體來看待,從更高的層次來進行系統建模,更貼近事物的自然執行模式。
-
類的定義
class 類{} 字面量定義
-
類的使用
let 物件名 = new 類名(); 物件名.變數名 物件名.方法名()
-
繼承
讓類和類產生子父類關係,提高程式碼的複用性和維護性。
子類 extends 父類
Object 頂級父類
2、JavaScript內建物件
2.1、Number
-
方法介紹
-
程式碼實現
2.2、Math
-
方法介紹 : random* **
-
程式碼實現
2.3、Date
-
方法說明
-
構造方法
-
成員方法
-
-
程式碼實現
2.4、String
-
方法說明
-
構造方法
-
成員方法 charAt,indexOf,subString
-
-
程式碼實現
2.5、RegExp ***
-
正規表示式:是一種對字串進行匹配的規則
-
常用在登陸、註冊的表單校驗
-
方法說明
-
構造方法&成員方法
-
規則
-
[] 多選一
-
{}某個規則重複出現的次數
-
-
程式碼實現
2.6、Array ***
-
成員方法:push,pop
-
程式碼實現
2.7、Set
-
JavaScript 中的 Set 集合,元素唯一,存取順序一致
-
方法說明
-
程式碼實現
2.8、Map
-
JavaScript 中的 Map 集合,key 唯一,存取順序一致
-
方法說明
-
程式碼實現
2.9、Json ***
-
JSON(JavaScript Object Notation):是一種輕量級的資料交換格式
-
它是基於 ECMAScript 規範的一個子集,採用完全獨立於程式語言的文字格式來儲存和表示資料
-
簡潔和清晰的層次結構使得 JSON 成為理想的資料交換語言。易於人閱讀和編寫,同時也易於計算機解析和 生成,並有效的提升網路傳輸效率
-
-
方法說明
-
程式碼實現
-
json分析圖:
2.10、表單校驗 ***
-
案例說明
-
程式碼實現
2.11、小結
-
內建物件是 JavaScript 提供的帶有屬性和方法的特殊資料型別。
-
數字日期 Number Math Date
-
字串 String RegExp
-
陣列集合 Array Set Map
-
結構化資料 JSON
3、JavaScript BOM
-
BOM(Browser Object Model):瀏覽器物件模型。
-
將瀏覽器的各個組成部分封裝成不同的物件,方便我們進行操作。
3.1、Windows視窗物件
-
定時器 ***
-
唯一標識 setTimeout(功能,毫秒值):設定一次性定時器 (延時定時器)
-
第一個引數,只需要傳遞函式名即可,不需要呼叫
-
-
clearTimeout(標識):取消一次性定時器
-
唯一標識 setInterval(功能,毫秒值):設定迴圈定時器 (間隔定時器)
-
第一個引數,只需要傳遞函式名即可,不需要呼叫
-
-
clearInterval(標識):取消迴圈定時器
-
-
載入事件 ***
-
window.onload:在頁面載入完畢後觸發此事件的功能
-
-
程式碼實現
3.2、Location位址列物件
-
href 屬性
通過設定href來改變位址列地址,進行介面的跳轉。
-
程式碼實現
3.3、案例-動態廣告
-
案例分析和實現
<!-- 廣告圖片 -->
<img src="img/ad_big.jpg" id="ad_big" width="100%"/>
-
在 css 樣式中,display 屬性可以控制元素是否顯示
style="display: none;"
-
設定定時器,3 秒後顯示廣告圖片
//1.設定定時器,3秒後顯示廣告圖片
setTimeout(function(){
let img = document.getElementById("ad_big");
img.style.display = "block";
},3000);
-
設定定時器,3 秒後隱藏廣告圖片
//2.設定定時器,3秒後隱藏廣告圖片
setTimeout(function(){
let img = document.getElementById("ad_big");
img.style.display = "none";
},6000);
3.4、小結
-
BOM(Browser Object Model):瀏覽器物件模型。
-
將瀏覽器的各個組成部分封裝成不同的物件,方便我們進行操作。
-
Window:視窗物件
-
Location:位址列物件
-
Navigator:瀏覽器物件
-
History:當前視窗歷史記錄物件
-
Screen:顯示器螢幕物件
-
-
Window 視窗物件
-
setTimeout()、clearTimeout():一次性定時器
-
setInterval()、clearInterval():迴圈定時器
-
onload 事件:頁面載入完畢觸發執行功能
-
-
Location 位址列物件 href 屬性:跳轉到指定的 URL 地址
4、JavaScript封裝
封裝思想
-
封裝:將複雜的操作進行封裝隱藏,對外提供更加簡單的操作。
-
獲取元素的方法
-
document.getElementById(id值):根據 id 值獲取元素
-
document.getElementsByName(name值):根據 name 屬性值獲取元素們
-
document.getElementsByTagName(標籤名):根據標籤名獲取元素們
-
-
程式碼實現
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>封裝</title> </head> <body> <div id="div1">div1</div> <div name="div2">div2</div> </body> <script src="my.js"></script> <script> let div1 = getById("div1"); alert(div1); // let div1 = document.getElementById("div1"); // alert(div1); // let divs = document.getElementsByName("div2"); // alert(divs.length); // let divs2 = document.getElementsByTagName("div"); // alert(divs2.length); </script> </html>
js封裝
function getById(id){ return document.getElementById(id); } function getByName(name) { return document.getElementsByName(name); } function getByTag(tag) { return document.getElementsByTagName(tag); }