php中文網整理了javascript的10個面試題。快來測試一下你是否已經全部掌握JavaScript核心技能,在面試中一定可以使用。
推薦相關文章:2020年最全js面試題整理(最新)
1介紹js的基本資料型別
Undefined、Null、Boolean、Number、String
2s有哪些內建物件?
資料封裝類別物件:Object、Array、Boolean、Number 和String
其他物件:Function、Arguments、Math、Date、RegExp、Error
3this物件的理解
this總是指向函數的直接呼叫者(而非間接呼叫者);
如果有new關鍵字,this指向new出來的那個物件;
在事件中,this指向觸發這個事件的對象,特殊的是,IE中的attachEvent中的this總是指向全域對象Window;
4eval是做什麼的?
它的功能是把對應的字串解析成JS程式碼並執行;
應該避免使用eval,不安全,非常耗能(2次,一次解析成js語句,一次執行)。
由JSON字串轉換成JSON物件的時候可以用eval,var obj =eval('(' str ')');
5DOM怎麼加入、移除、移動、複製、建立和尋找節點
// 建立新節點
createDocumentFragment() //建立一個DOM片段
createElement() //建立一個特定的元素
createTextNode() //建立一個文字節點
// 新增、移除、取代、插入
appendChild()
removeChild ()
replaceChild()
insertBefore() //在現有的子節點前插入一個新的子節點
// 尋找
# getElementsByTagName() //透過標籤名稱
getElementsByName() //透過元素的Name屬性的值(IE容錯能力較強,會得到一個數組,其中包括id等於name值的)
getElementById() //透過元素Id,唯一性
6null和undefined的區別?
null是一個表示」無」的對象,轉為數值時為0;undefined是一個表示」無」的原始值,轉為數值時為NaN。
undefined:
(1)變數被宣告了,但沒有賦值時,就等於undefined。
(2) 呼叫函數時,應該提供的參數沒有提供,該參數等於undefined。
(3)物件沒有賦值的屬性,該屬性的值為undefined。
(4)函數沒有傳回值時,預設回傳undefined。
null:
(1) 作為函數的參數,表示函數的參數不是物件。
(2) 作為物件原型鏈的終點。
7new運算子具體乾了什麼?
(1)建立一個空對象,並且this 變數引用該對象,同時也繼承了該函數的原型。
(2)屬性和方法被加入到 this 引用的物件中。
(3)新建立的物件由 this 所引用,並且最後隱式的回傳 this 。
8JSON 的了解?
JSON(JavaScript Object Notation) 是一種輕量級的資料交換格式。它是基於JavaScript的子集。資料格式簡單, 易於讀寫, 佔用頻寬小。
格式:採用鍵值對,例如:{'age':'12', 'name':'back'}
9call() 和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; }
##相關學習推薦:
以上是2019年最新春季面試之javascript經典面試題的詳細內容。更多資訊請關注PHP中文網其他相關文章!