Android開發(fā)人員不得不學習的JavaScript基礎(一)
對象
書接上文慨蓝,在JavaScript中感混,有很多常用的對象,這一節(jié)中我們繼續(xù)講對象礼烈。
1弧满、window對象
window對象是BOM的核心,window對象指當前的瀏覽器窗口此熬,window對象中有很多種方法供開發(fā)者調(diào)用:
方法 | 描述 |
---|---|
alert() | 顯示帶有一段消息和一個確認按鈕的警告框 |
prompt() | 顯示可提示用戶輸入的對話框 |
confirm() | 顯示帶有一段消息以及確認按鈕和取消按鈕的對話框 |
open() | 打開一個新的瀏覽器窗口庭呜,或者查找一個已命名的窗口 |
close() | 關閉瀏覽器窗口 |
print() | 打印當前窗口內(nèi)容 |
focus() | 把鍵盤焦點給予一個窗口 |
blur() | 把鍵盤焦點從頂層窗口移開 |
movebBy() | 可相對窗口的當前坐標把它移動到指定的像素 |
moveTo() | 把窗口的左上角移動到一個指定的坐標 |
resizeBy() | 按照指定的像素調(diào)整窗口的大小 |
resizeTo() | 把窗口的大小調(diào)整到指定的寬和高 |
scrollBy() | 按照指定的像素值來滾動內(nèi)容 |
scrollTo() | 把內(nèi)容滾動到指定位置 |
setInterval() | 每隔指定的時間執(zhí)行代碼 |
setTimeOut() | 在指定的延遲時間之后來執(zhí)行代碼 |
clearInterval() | 取消setInterval的值 |
clearTimeout() | 取消setTimeOut的值 |
2、history對象
history對象記錄了用戶曾經(jīng)瀏覽過的頁面(URL)犀忱,并可以實現(xiàn)瀏覽器前進與后退相似導航的功能募谎。需要注意的是從窗口被打開的那一刻開始記錄,每個瀏覽器窗口阴汇、每個標簽頁乃至每個框架数冬,都有自己的history對象與特定的window對象關聯(lián)。
方法/屬性 | 描述 |
---|---|
length | 返回瀏覽器歷史列表中的URL數(shù)量 |
back() | 加載history列表中的前一個URL |
forward() | 加載history列表中的下一個URL |
go() | 加載history列表中的某個具體的頁面 |
3搀庶、location對象
location用于獲取或設置窗體的URL拐纱,并且可以用于解析URL。我們先看看location對象屬性圖示:
下面是location對象的一些屬性以及方法:
方法/屬性 | 描述 |
---|---|
hash | 設置或返回從#號開始的URL(錨) |
host | 設置或返回主機名和當前URL的端口號 |
hostname | 設置或返回當前URL的主機名 |
href | 設置或返回完整的URL |
pathname | 設置或返回從#號開始的URL(錨) |
port | 設置或返回當前URL的端口號 |
protocol | 設置或返回當前URL的協(xié)議) |
search | 設置或返回從?號開始的URL(查詢部分) |
assign() | 加載新的文檔 |
reload() | 重新加載當前文檔 |
replace() | 用心的文檔替換當前文檔 |
4哥倔、navigator對象
navigator對象包含有關瀏覽器的信息戳玫,通常用于檢測瀏覽器與操作系統(tǒng)的版本。以下是navigator對象的一些屬性:
屬性 | 描述 |
---|---|
appCodeName | 瀏覽器代碼名的字符串表示 |
appName | 返回瀏覽器名稱 |
appVersion | 返回瀏覽器的平臺和版本信息 |
platform | 返回運行瀏覽器的操作系統(tǒng)平臺 |
userAgent | 返回由客戶機發(fā)送服務器的user-agent頭部值 |
4.1未斑、userAgent
返回用戶代理頭的字符串表示(就是包括瀏覽器版本信息等的字符串)咕宿;幾種瀏覽的user_agent,像360的兼容模式用的是IE蜡秽、極速模式用的是chrom的內(nèi)核府阀。可以使用userAgent屬性來判斷使用的是什么瀏覽器:
5芽突、screen對象
screen對象用于獲取用戶的屏幕信息试浙,以下是screen對象的屬性
屬性 | 描述 |
---|---|
avaiHeight | 窗口可以使用的屏幕高度,單位為像素 |
avaiWidth | 窗口可以使用的屏幕寬度寞蚌,單位為像素 |
colorDepth | 用戶瀏覽器表示的顏色位數(shù)田巴,通常為32位(每像素的位數(shù))(IE瀏覽器不支持) |
pixelDepth | 窗口可以使用的屏幕高度钠糊,單位為像素 |
height | 屏幕的高度,單位為像素 |
width | 屏幕的寬度壹哺,單位為像素 |
5抄伍、DOM對象
文檔對象模型DOM(Document Object Model)定義訪問和處理HTML文檔的標準方法。DOM 將HTML文檔呈現(xiàn)為帶有元素管宵、屬性和文本的樹結構(節(jié)點樹)截珍。將HTML代碼分解為DOM節(jié)點層次如圖所示:
HTML文檔是由節(jié)點構成的集合,DOM節(jié)點有以下幾種:
5.1箩朴、元素節(jié)點:上圖中html岗喉、body、p等都是元素節(jié)點炸庞,即標簽钱床。
5.2、文本節(jié)點:向用戶展示的內(nèi)容埠居,入li中的JavaScript诞丽、DOM、CSS等文本拐格。
5.3鹏秋、屬性節(jié)點:元素屬性郎哭,如a標簽的鏈接屬性href="http:xxx.xxx.xxx"。
節(jié)點屬性如下表:
屬性 | 說明 |
---|---|
nodeName | 返回一個字符串,其內(nèi)容是給定節(jié)點的名字 |
nodeType | 返回一個整數(shù)拳昌,這個數(shù)值代表給定節(jié)點的類型 |
nodeValue | 返回給定節(jié)點的當前值 |
- nodeName 屬性: 節(jié)點的名稱惜犀,是只讀的捺氢。
- 元素節(jié)點的 nodeName 與標簽名相同
- 屬性節(jié)點的 nodeName 是屬性的名稱
- 文本節(jié)點的 nodeName 永遠是 #text
- 文檔節(jié)點的 nodeName 永遠是 #document
- nodeValue 屬性:節(jié)點的值
- 元素節(jié)點的 nodeValue 是 undefined 或 null
- 文本節(jié)點的 nodeValue 是文本自身
- 屬性節(jié)點的 nodeValue 是屬性的值
- nodeType 屬性: 節(jié)點的類型惜姐,是只讀的。以下常用的幾種結點類型:
元素類型 | 節(jié)點類型 |
---|---|
元素 | 1 |
屬性 | 2 |
文本 | 3 |
注釋 | 8 |
文檔 | 9 |
遍歷節(jié)點樹:
方法 | 說明 |
---|---|
childNodes | 返回一個數(shù)組胡岔,這個數(shù)組由給定元素節(jié)點的子節(jié)點 |
firstChild | 返回第一個子節(jié)點 |
lastChild | 返回最后一個節(jié)點 |
parentNode | 返回一個給定節(jié)點的父節(jié)點 |
nextSibling | 返回給定節(jié)點的下一個節(jié)點 |
previousSibling | 返回給定節(jié)點的下一個節(jié)點 |
DOM操作:
方法 | 說明 |
---|---|
createElement(ele) | 創(chuàng)建一個新的元素節(jié)點 |
createTextNode() | 創(chuàng)建一個包含著給定文本的新文本節(jié)點 |
appendChild() | 指定節(jié)點的最后一個節(jié)點列表之后添加一個新的子節(jié)點 |
insertBefore() | 將一個給定節(jié)點插入到一個給定元素節(jié)點的給定子節(jié)點前面 |
removeChild() | 從一個給定元素中刪除字子節(jié)點 |
replaceChild(ele) | 把一個給定元素里的一個子節(jié)點替換成另外一個節(jié)點 |
5.4法希、getElementsByName()方法,返回帶有指定名稱的節(jié)點對象的集合靶瘸。
因為文檔中的name屬性可能不唯一苫亦,所有getElementsByName() 方法返回的是元素的數(shù)組,而不是一個元素怨咪。
和數(shù)組類似也有l(wèi)ength屬性屋剑,可以和訪問數(shù)組一樣的方法來訪問,從0開始诗眨。
5.5唉匾、getElementsByTagName()方法,返回帶有指定標簽名的節(jié)點對象的集合匠楚。返回元素的順序是它們在文檔中的順序巍膘。
Tagname是標簽的名稱厂财,如p、a峡懈、img等標簽名璃饱。
和數(shù)組類似也有l(wèi)ength屬性,可以和訪問數(shù)組一樣的方法來訪問逮诲,所以從0開始帜平。