基礎
1,什麼是命名空間,變量污染,變量聲明提高,預編譯?如何檢查一段代碼執行後是否聲明瞭全局變量?
2,隱式轉換的種種規則
3,關於對象,對象的屬性可能有哪些特性(attribute)?什麼是原型鏈?如何檢測某一屬性是在對象中仍是原型鏈中?如何檢測是不是普通對象或空對象?寫一個工廠模式?(工廠模式也有不少細節,具體能夠參考《javascript模式》一書,不是《javascript設計模式》)
4,變量類型檢測、特性檢測以及異常避免
5,setTimeout的特性
6,數組幾個API的手工實現
7,事件
8,正則表達式,至少要明白$1和\1的意思和幾個API的用法。
9,javascript如何得到隨機unicode字符?
10,JSON.parse的參數傳一個什麼對象的時候不能處理?(能夠試試JSON.parse(window))
11,fn.apply的第一個參數是context(函數運行的上下文),那麼這個參數傳一個數組會怎麼處理?
DOM操做
1,實現一些API如getElementsByClass(有不少細節,參見司徒正美的博客)
2,各類寬度高度(clientHeight之類)的含義及各瀏覽器之間的差別性
3,實現一個帶回調函數的插入DOM節點API(須考慮script標籤、documentFragment)
CSS操做
1,如何操做CSS的僞類和僞元素?
2,如何檢測改瀏覽器是否支持某個CSS3的特性?
ajax操做
1,get和post的區別及使用要點
2,http協議,包括格式、狀態碼,cookie操做
3,跨域
4,轉換JSON的幾種方式,JSON.stringfy有什麼使用限制?
性能
1,javascript有哪些性能優化的措施?可看《高性能javascript》
綜合:各類插件的設計思路javascript