1、js的基本數(shù)據(jù)類(lèi)型
Number、String、Boolean、Null、Undefined
還有復(fù)雜數(shù)據(jù)類(lèi)型:Object(Array、Json等)
2、js有哪些內(nèi)置對(duì)象
Object是所有JS中所有對(duì)象的父對(duì)象
數(shù)據(jù)封裝類(lèi)對(duì)象:Object、Array、Boolean、Number、String
其他對(duì)象:Function、Arguments、Math、Date、RegExp、Error
3、js基本規(guī)范?
(1)不要在同一行聲明多個(gè)變量;
(2)請(qǐng)使用==或!==來(lái)比較true或false的值;
(3)使用對(duì)象字面量(json)替代new Array這種形式
(4)不要使用全局函數(shù)
(5)switch語(yǔ)句帶有default分支
(6)函數(shù)不應(yīng)該有時(shí)候有返回值,有時(shí)候沒(méi)有返回值
(7)for循環(huán)必須使用大括號(hào)
(8)if語(yǔ)句必須使用大括號(hào)
(9)for-in循環(huán)中變量,應(yīng)使用var關(guān)鍵字明確限定作用域,從而避免作用域污染
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()
removeChild()
replaceChild()
insertBefore() //在已有的子節(jié)點(diǎn)前插入一個(gè)新的子節(jié)點(diǎn)
// 查找
getElementsByTagName() //通過(guò)標(biāo)簽名稱(chēng)
getElementsByName() //通過(guò)元素的Name屬性的值(IE容錯(cuò)能力較強(qiáng),會(huì)得到一個(gè)數(shù)組,其中包括id等于name值的)
getElementById() //通過(guò)元素Id,唯一性
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ì),例如:{'age':'12', 'name':'back'}
9、null和undefined區(qū)別?
null表示“無(wú)”,轉(zhuǎn)為數(shù)值時(shí)為0;undefined是表示“無(wú)”的原始值,轉(zhuǎn)為數(shù)值時(shí)為NaN。
undefined:
(1)變量被聲明了,但沒(méi)賦值,就是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)。