javaScript
是一門解釋型語言,瀏覽器充當解釋器。js
執行時,在同一個做用域是先解釋再執行。解釋的時候會編譯function
和var
這兩個關鍵詞定義的變量,編譯完成後從上往下執行並向變量賦值。ECMASCript
中的一切(包括變量、函數名、操做符)都區分大小寫。javascript
變量在第一次用到的時候就設置在內存中,使用變量以前先進行聲明。可使用var
關鍵字來進行變量的聲明。
變量命名:變量名包括全局變量,局部變量,類變量,函數參數等等都屬於這一類。
變量命名都以類型前綴+有意義的單詞組成,能夠用駝峯命名法加強變量的可讀性。
前綴規範:java
s:表示字符串 n:表示數字 a:表示數組 r:表示正則表達 f:表示函數 g:表示全局變量
建立合法的變量名應該遵循的規則:
第一個字符不能是數字,後面能夠跟任意的數字,字母,下劃線。node
javascript
會忽略多餘的空格,變量之間用逗號隔開。若是聲明瞭一個變量但沒有賦值,該變量存在值爲undefined
數組
基本數據類型:字符型、數值、布爾 引用數據類型:對象、數組 特殊數據類型: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:對象屬性不存在,聲明瞭變量未賦值
DOM(文檔對象模型)是HTM和XML應用程序的接口(API) DOM表明着被加載到瀏覽器窗口裏的當前網頁的模型 BOM用來處理瀏覽器窗口和框架。
區別:DOM
描述了處理網頁的方法和接口,BOM
描述了與瀏覽器進行交互的方法和接口
HTML將代碼分解爲DOM節點層次圖:app
查找元素: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
DOM 2級事件處理程序:定義了兩個方法,用於指定和刪除事件處理程序的操做。`addEventListener()`和`removeEventListener()`
BOM
部分
window對象
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
對象