1、js的基本數據類型
Number、String、Boolean、Null、Undefined
還有復雜數據類型:Object(Array、Json等)
2、js有哪些內置對象
Object是所有JS中所有對象的父對象
數據封裝類對象:Object、Array、Boolean、Number、String
其他對象:Function、Arguments、Math、Date、RegExp、Error
3、js基本規范?
(1)不要在同一行聲明多個變量;
(2)請使用==或!==來比較true或false的值;
(3)使用對象字面量(json)替代new Array這種形式
(4)不要使用全局函數
(5)switch語句帶有default分支
(6)函數不應該有時候有返回值,有時候沒有返回值
(7)for循環必須使用大括號
(8)if語句必須使用大括號
(9)for-in循環中變量,應使用var關鍵字明確限定作用域,從而避免作用域污染
4、 eval是做什么的?
它的功能是把對應的字符串解析成JS代碼并運行;
應該避免使用eval,不安全,非常耗性能(2次,一次解析成js語句,一次執行)。
由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,唯一性
7、new操作符具體干了什么呢?
(1)創建一個空對象,并且 this 變量引用該對象,同時還繼承了該函數的原型。
(2)屬性和方法被加入到 this 引用的對象中。
(3)新創建的對象由 this 所引用,并且最后隱式的返回 this 。
8、JSON 的了解?
JSON(JavaScript Object Notation) 是一種輕量級的數據交換格式。它是基于JavaScript的一個子集。數據格式簡單, 易于讀寫, 占用帶寬小。
格式:采用鍵值對,例如:{'age':'12', 'name':'back'}
9、null和undefined區別?
null表示“無”,轉為數值時為0;undefined是表示“無”的原始值,轉為數值時為NaN。
undefined:
(1)變量被聲明了,但沒賦值,就是undefined;
(2)調用函數時,應該提供的參數沒有提供,該參數等于undefined;
(3)對象沒賦值的屬性,該屬性的值為undefined;
(4)函數沒有返回值時,默認返回undefined。
null:
(1)作為函數的參數,表示該函數的參數不是對象。
(2)作為對象原型鏈的終點。