包裝類
在JS中為我們提供了三個包裝類:
String() Boolean() Number()
通過這三個包裝類可以創建基本數據類型的對象
例子:
1 |
var num = new Number(2); |
但是在實際應用中不會這樣使用。
當我們去操作一個基本數據類型的屬性和方法時,
解析器會臨時將其轉換為對應的包裝類,然后再去操作屬性和方法,
操作完成以后再將這個臨時對象進行銷毀。
Date
日期的對象,在JS中通過Date對象來表示一個時間
創建對象
創建一個當前的時間對象
1 |
var d = new Date(); |
創建一個指定的時間對象
1 |
var d = new Date("月/日/年 時:分:秒"); |
方法:
詳見文檔
Math
Math屬於一個工具類,它不需要我們創建對象,它里邊封裝了屬性運算相關的常量和方法
我們可以直接使用它來進行數學運算相關的操作
方法:
詳見文檔
字符串的相關的方法
詳見文檔
正則表達式
正則表達式用來定義一些字符串的規則,程序可以根據這些規則來判斷一個字符串是否符合規則。
也可以將一個字符串中符合規則的內容提取出來。
創建正則表達式
var reg = new RegExp("正則","匹配模式"); 注意:使用構造函數時,由於它的參數是一個字符串,而\是字符串中轉義字符,如果要使用正則中的 \ 則需要使用 \\ 來代替。(看輸出結果,正則中需要輸出 \. 才可以表示普通的 . 字符,而在字符串中寫 \. 只會輸出 . ,所以要寫 \\.)
var reg = /正則表達式/匹配模式
匹配模式:
i:忽略大小寫
g:全局匹配模式(使用它是因為正則中默認只匹配1次)
設置匹配模式時,可以都不設置,也可以設置1個,也可以全設置,設置時沒有順序要求
具體語法,詳見文檔
DOM
DOM------>用來操作網頁
DOM中的對象和網頁是一一對應的關系
文檔的加載
瀏覽器在加載一個頁面時,是按照自上向下的順序加載的,加載一行執行一行。
如果將js代碼編寫到頁面的上邊,當代碼執行時,頁面中的DOM對象還沒有加載,
此時將會無法正常獲取到DOM對象,導致DOM操作失敗。
解決方式一:
可以將js代碼編寫到body的下邊
1 |
<body> |
解決方式二:
將js代碼編寫到window.onload = function(){}中
window.onload 對應的回調函數會在整個頁面加載完畢以后才執行,
所以可以確保代碼執行時,DOM對象已經加載完畢了
1 |
<script> |
事件
綁定事件的方式:
1.可以在標簽的事件屬性中設置相應的JS代碼
例子:
1 |
<button onclick="js代碼。。。">按鈕</button> |
2.可以通過為對象的指定事件屬性設置回調函數的形式來處理事件
例子:
1 |
<button id="btn">按鈕</button> |
DOM查詢
在網頁中瀏覽器已經為我們提供了document對象,
它代表的是整個網頁,它是window對象的屬性,可以在頁面中直接使用。
獲取元素節點(通過document對象調用)
根據元素的id屬性查詢一個元素節點對象:
document.getElementById("id屬性值");
根據元素的name屬性值查詢一組元素節點對象:
document.getElementsByName("name屬性值");
根據標簽名來查詢一組元素節點對象:
document.getElementsByTagName("標簽名");
-這個方法會給我們返回一個類數組對象,所有查詢到的元素都會封裝到該數組對象中,即使查詢到的元素只有一個,也會封裝到數組中返回
讀取元素的屬性
例子: ele.name
ele.id
ele.value
ele.className
注意:class屬性不能采用這種方式,
讀取class屬性時需要使用 元素.className
innerHTML
使用該屬性可以獲取或設置元素內部的HTML代碼,會獲取到html標簽
innerText
使用該屬性可以獲取或設置元素內部的文本內容
它和innerHTML相似,不同的是它會自動將html標簽去除,如果使用這兩個屬性來設置標簽內部的內容時,沒有任何區別
讀取元素的文本內容的其他方法(推薦使用上方兩個inner屬性,這個僅作了解)
元素.firstChild.nodeValue
獲取元素節點的子節點(通過具體的元素節點調用)
返回當前節點的指定標簽名后代節點:(方法)
getElementsByTagName("標簽名");
表示當前節點的所有子節點:(屬性)
childNodes
childNodes屬性會獲取包括文本節點在內的所有節點,根據DOM標准。標簽間的空白也會被當成文本節點
獲取當前元素的所有子元素:(屬性)
children
表示當前節點的第一個子節點:(屬性)
firstNodes
獲取當前元素的第一個子元素:(屬性,不支持IE8)
firstElementChild
表示當前節點的最后一個子節點:(屬性)
lastChild
獲取父節點和兄弟節點(通過具體的元素節點調用)
表示當前節點的父節點:(屬性)
parentNode
表示當前節點的前一個兄弟節點:(屬性)
previousSibling
獲取當前元素的前一個兄弟元素:(屬性,不支持IE8)
previousElementSibling
表示當前節點的后一個兄弟節點:(屬性,不支持IE8)
nextSibling
document對象的其他的屬性和方法
document.all
獲取頁面中的所有元素,相當於document.getElementsByTagName("*");
document.documentElement
獲取頁面中html根元素
document.body
獲取頁面中的body元素
document.getElementsByClassName()
根據元素的class屬性值查詢一組元素節點對象(這個方法不支持IE8及以下的瀏覽器)
document.querySelector()
根據CSS選擇器去頁面中查詢一個元素,需要一個選擇器的字符串作為參數
使用該方法總會返回唯一的一個元素,如果滿足條件的元素有多個,那么它只會返回第一個
document.querySelectorAll()
該方法與querySelector()用法類似,不同的是它會將符合條件的元素封裝到一個數組返回
即使符合條件的元素只有一個,他也會返回數組
學識淺薄,如有錯誤,懇請斧正,在下不勝感激。