看圖學知識:學習JavaScript你必須掌握的8大知識點
1. 介紹js的基本數據類型如下:
Undefined、String、Boolean、Number、Null
2. js有哪些內置對象?
數據封裝類對象:Object、Array、Boolean、Number 和 String
其他對象:Function、Arguments、Math、Date、RegExp、Error
3. this對象的理解
this總是指向函數的直接調用者(而非間接調用者);
如果有new關鍵字,this指向new出來的那個對象;
在事件中,this指向觸發這個事件的對象,特殊的是,IE中的attachEvent中的this總是指向全局對象Window。
4. eval是做什麼的?
它的功能是把對應的字符串解析成JS代碼並運行;
應該避免使用eval,不安全,非常耗性能(2次,一次解析成js語句,一次執行)。
由JSON字符串轉換為JSON對象的時候可以用eval,var obj =eval('('+ str +')')。
5.call() 和 apply() 的區別和作用?
apply()函數有兩個參數:第一個參數是上下文,第二個參數是參數組成的數組。如果上下文是null,則使用全局對象代替。
如:function.apply(this,[1,2,3]);
call()的第一個參數是上下文,後續是實例傳入的參數序列。
例如:function.call(this,1,2,3);
6. null和undefined的區別體現在哪兒?
null是一個表示"無"的對象,轉為數值時為0;undefined是一個表示"無"的原始值,轉為數值時為NaN。
undefined:
(1)變量被聲明瞭,但沒有賦值時,就等於undefined。
(2) 調用函數時,應該提供的參數沒有提供,該參數就等於undefined。
(3)對象沒有賦值的屬性,該屬性的值為undefined。
(4)如果函數沒有返回值時,就會默認返回undefined。
null:
(1) 作為函數的參數,表示該函數的參數不是對象。
(2) 作為對象原型鏈的終點。
7. new操作符具體可以幹什麼呢?
(1)創建一個空對象,並且 this 變量引用該對象,同時還繼承了該函數的原型。
(2)屬性和方法被加入到 this 引用的對象中。
(3)新創建的對象由 this 所引用,並且最後隱式的返回 this 。
8. JSON 的知識點
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它是基於JavaScript的一個子集。數據格式簡單, 易於讀寫, 佔用帶寬小。
格式:採用鍵值對。例如:{'age':'12', 'name':'back'}
9. DOM怎樣添加、移除、移動、複製、創建和查找節點
// 創建新節點
createDocumentFragment() //創建一個DOM片段
createElement() //創建一個具體的元素
createTextNode() //創建一個文本節點
// 添加、移除、替換、插入
appendChild()
removeChild()
replaceChild()
insertBefore() //在已有的子節點前插入一個新的子節點
// 查找
getElementsByTagName() //通過標籤名稱
getElementsByName() //通過元素的Name屬性的值(IE容錯能力較強,會得到一個數組,其中包括id等於name值的)
getElementById() //通過元素Id,唯一性
10. 如何獲取UA?
function whatBrowser() {
document.Browser.Name.value=navigator.appName;
document.Browser.Version.value=navigator.appVersion;
document.Browser.Code.value=navigator.appCodeName;
document.Browser.Agent.value=navigator.userAgent;
}
一、JavaScript思維導圖之<變量>的學習
二、 JavaScript思維導圖之<函數基礎>
三、JavaScript思維導圖之<基本dom操作>
四、JavaScript思維導圖之<流程語句>
五、JavaScript思維導圖之<數組>
六、JavaScript思維導圖之<運算符>
七、JavaScript思維導圖之<正則表達式>
八、JavaScript思維導圖之<字符串函數>