javaScript學習總結上

基本概念

javaScript是一門解釋型語言,瀏覽器充當解釋器。js執行時,在同一個做用域是先解釋再執行。解釋的時候會編譯functionvar這兩個關鍵詞定義的變量,編譯完成後從上往下執行並向變量賦值。ECMASCript中的一切(包括變量、函數名、操做符)都區分大小寫。javascript

變量

變量在第一次用到的時候就設置在內存中,使用變量以前先進行聲明。可使用var關鍵字來進行變量的聲明。
變量命名:變量名包括全局變量,局部變量,類變量,函數參數等等都屬於這一類。
變量命名都以類型前綴+有意義的單詞組成,能夠用駝峯命名法加強變量的可讀性。
前綴規範:java

s:表示字符串
n:表示數字
a:表示數組
r:表示正則表達
f:表示函數
g:表示全局變量

建立合法的變量名應該遵循的規則:
第一個字符不能是數字,後面能夠跟任意的數字,字母,下劃線。node

javascript會忽略多餘的空格,變量之間用逗號隔開。若是聲明瞭一個變量但沒有賦值,該變量存在值爲undefined數組

js的數據類型

基本數據類型:字符型、數值、布爾
引用數據類型:對象、數組
特殊數據類型:Null、Undefined

對象

Object類型是一個無序的集合,能夠存聽任意類型的對象,全部其餘對象都繼承這個對象,建立Object類型有兩種,一種是使用new運算符,一種是字面量表示法。var obj = new Object();瀏覽器

Object.prototype對象全部構造函數都有一個`prototype`屬性,指向一個原型對象。實例obj繼承object.prototype的屬性和方法
1.對象是一種特殊的數據,擁有屬性和方法,`javascript`基於[prototype]
2.對象是方法和屬性的集合
3.函數時一種特殊的對象
面向對象三大特徵:封裝、繼承、多態

數組

Array對象:提供對建立任何數據類型和數組的支持
Array數組的3個屬性:length、prototype、constructor
Array對象方法:
concat()、join()、pop()、push、slice()、sort()、splice()、toString()...

Null和Undefined

null表示還沒有存在的對象,經常使用來表示函數企圖返回一個不存在的悐
undefined:對象屬性不存在,聲明瞭變量未賦值

BOM和DOM

DOM(文檔對象模型)是HTM和XML應用程序的接口(API) DOM表明着被加載到瀏覽器窗口裏的當前網頁的模型
BOM用來處理瀏覽器窗口和框架。

區別:DOM描述了處理網頁的方法和接口,BOM描述了與瀏覽器進行交互的方法和接口
HTML將代碼分解爲DOM節點層次圖:app

clipboard.png

查找元素:W3C提供了比較方便的定位節點的屬性和方法框架

getElementById()獲取特定的id元素節點
getElementsByTagName()獲取相同元素的節點列表
getElementsByName()獲取相同名稱的節點列表
getAttribute()獲取特定元素節點屬性的值
setAttribute()設置特定元素節點屬性的值
removeAttribute()移除特定元素節點屬性

元素節點屬性:函數

nodeName返回一個字符串,內容是節點的名字
nodeType返回一個整數,給定節點類型
nodeValue返回節點的當前值

DOM操做spa

creatElement(element)建立一個新的元素節點
creatTextNode()建立一個包含給定文本的新文本節點
appendChild()指定節點的最後一個節點列表後添加一個新的子節
insertBefore()將一個給定節點插入到一個給定元素節點的給定子節點的前面
removeChild()從一個給定元素中刪除子節點
replaceChild()把一個給定父元素裏的一個子節點替換爲另一個節點

DOM經過建立樹來表示文檔,描述了處理網頁內容的方法和接口,從而使開發者對文檔的內容和結構具備空前的控制力,用DOM API能夠輕鬆地刪除、添加和替換節點。prototype

DOM 0級事件處理程序:把一個函數賦值給一個事件的處理程序屬性
innerText、innerHTML、outerHTML、outerText

clipboard.png

DOM 2級事件處理程序:定義了兩個方法,用於指定和刪除事件處理程序的操做。`addEventListener()`和`removeEventListener()`

BOM部分

window對象
clipboard.png

document對象:其實是window對象的屬性,document == window.document爲true,是惟一一個既屬於BOM又屬於DOM的對象

document.lastModified  //獲取最後一次修改頁面的日期的字符串表示  

document.referrer  //用於跟蹤用戶從哪裏連接過來的  

document.title  //獲取當前頁面的標題,可讀寫  

document.URL  //獲取當前頁面的URL,可讀寫  

document.anchors[0]或document.anchors["anchName"] //訪問頁面中全部的錨  

document.forms[0]或document.forms["formName"]  //訪問頁面中全部的表單  

document.images[0]或document.images["imgName"]  // 訪問頁面中全部的圖像  

document.links [0]或document.links["linkName"]  //訪問頁面中全部的連接 

document.applets [0]或document.applets["appletName"]  //訪問頁面中全部的Applet  

document.embeds [0]或document.embeds["embedName"]  //訪問頁面中全部的嵌入式對象  

document.write(); 或document.writeln();  //將字符串插入到調用它們的位置

還有location對象.navigator對象.screen對象

相關文章
相關標籤/搜索