基礎面試題——Javascript

1.介紹js的基本數據類型

UndefinedNullBooleanNumberString數組

2.js有哪些內置對象?

數據封裝類對象:Object、Array、Boolean、Number 和 String安全

其餘對象:Function、Arguments、Math、Date、RegExp、Errorapp

3.this對象的理解

this老是指向函數的直接調用者(而非間接調用者);函數

若是有new關鍵字,this指向new出來的那個對象;性能

在事件中,this指向觸發這個事件的對象,特殊的是,IE中的attachEvent中的this老是指向全局對象Window;this

4.eval是作什麼的?

它的功能是把對應的字符串解析成JS代碼並運行;spa

應該避免使用eval,不安全,很是耗性能(2次,一次解析成js語句,一次執行)。code

由JSON字符串轉換爲JSON對象的時候能夠用eval,var obj =eval(‘(‘+ str +’)’);對象

5.DOM怎樣添加、移除、移動、複製、建立和查找節點

複製代碼
// 建立新節點 createDocumentFragment() //建立一個DOM片斷 createElement() //建立一個具體的元素 createTextNode() //建立一個文本節點 // 添加、移除、替換、插入 appendChild() removeChild() replaceChild() insertBefore() //在已有的子節點前插入一個新的子節點 // 查找 getElementsByTagName() //經過標籤名稱 getElementsByName() //經過元素的Name屬性的值(IE容錯能力較強,會獲得一個數組,其中包括id等於name值的) getElementById() //經過元素Id,惟一性
複製代碼

6.null和undefined的區別?

null是一個表示」無」的對象,轉爲數值時爲0;undefined是一個表示」無」的原始值,轉爲數值時爲NaN。 undefined:blog

(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.call() 和 apply() 的區別和做用?

apply()函數有兩個參數:第一個參數是上下文,第二個參數是參數組成的數組。若是上下文是null,則使用全局對象代替。

如:function.apply(this,[1,2,3]);

call()的第一個參數是上下文,後續是實例傳入的參數序列。

如:function.call(this,1,2,3);

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; }
相關文章
相關標籤/搜索