1.介紹js的基本數(shù)據(jù)類(lèi)型 Undefined、Null、Boolean、Number、String 2.js有哪些內(nèi)置對(duì)象? 數(shù)據(jù)封裝類(lèi)對(duì)象:Object、Array、Boolean、Number 和 String 其他對(duì)象:Function、Arguments、Math、Date、RegExp、Error 3.this對(duì)象的理解 this總是指向函數(shù)的直接調(diào)用者(而非間接調(diào)用者); 如果有new關(guān)鍵字,this指向new出來(lái)的那個(gè)對(duì)象; 在事件中,this指向觸發(fā)這個(gè)事件的對(duì)象,特殊的是,IE中的attachEvent中的this總是指向全局對(duì)象Window; 4.eval是做什么的? 它的功能是把對(duì)應(yīng)的字符串解析成JS代碼并運(yùn)行; 應(yīng)該避免使用eval,不安全,非常耗性能(2次,一次解析成js語(yǔ)句,一次執(zhí)行)。 由JSON字符串轉(zhuǎn)換為JSON對(duì)象的時(shí)候可以用eval,var obj =eval(‘(‘+ str +’)’);
5.DOM怎樣添加、移除、移動(dòng)、復(fù)制、創(chuàng)建和查找節(jié)點(diǎn) // 創(chuàng)建新節(jié)點(diǎn) createDocumentFragment //創(chuàng)建一個(gè)DOM片段 createElement //創(chuàng)建一個(gè)具體的元素 createTextNode //創(chuàng)建一個(gè)文本節(jié)點(diǎn) // 添加、移除、替換、插入 appendChild 6.null和undefined的區(qū)別? null是一個(gè)表示”無(wú)”的對(duì)象,轉(zhuǎn)為數(shù)值時(shí)為0;undefined是一個(gè)表示”無(wú)”的原始值,轉(zhuǎn)為數(shù)值時(shí)為NaN。 undefined: (1)變量被聲明了,但沒(méi)有賦值時(shí),就等于undefined。 (2) 調(diào)用函數(shù)時(shí),應(yīng)該提供的參數(shù)沒(méi)有提供,該參數(shù)等于undefined。 (3)對(duì)象沒(méi)有賦值的屬性,該屬性的值為undefined。 (4)函數(shù)沒(méi)有返回值時(shí),默認(rèn)返回undefined。 null: (1) 作為函數(shù)的參數(shù),表示該函數(shù)的參數(shù)不是對(duì)象。 (2) 作為對(duì)象原型鏈的終點(diǎn)。 7.new操作符具體干了什么呢? (1)創(chuàng)建一個(gè)空對(duì)象,并且 this 變量引用該對(duì)象,同時(shí)還繼承了該函數(shù)的原型。 (2)屬性和方法被加入到 this 引用的對(duì)象中。 (3)新創(chuàng)建的對(duì)象由 this 所引用,并且最后隱式的返回 this 。 8.JSON 的了解? JSON(JavaScript Object Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。它是基于JavaScript的一個(gè)子集。數(shù)據(jù)格式簡(jiǎn)單, 易于讀寫(xiě), 占用帶寬小。 格式:采用鍵值對(duì),例如:{‘a(chǎn)ge’:’12’, ‘name’:’back’} 9.call 和 apply 的區(qū)別和作用? apply函數(shù)有兩個(gè)參數(shù):第一個(gè)參數(shù)是上下文,第二個(gè)參數(shù)是參數(shù)組成的數(shù)組。如果上下文是null,則使用全局對(duì)象代替。 如:function.apply(this,[1,2,3]); call的第一個(gè)參數(shù)是上下文,后續(xù)是實(shí)例傳入的參數(shù)序列。 如:function.call(this,1,2,3); 10.如何獲取UA? function whatBrowser { |
|