以下是我為了準(zhǔn)備14年9月面試阿里所做的筆記節(jié)選:(僅僅是考察點,,具體題目和擴展請自己思考) 基礎(chǔ)1,什么是命名空間,,變量污染,,變量聲明提升,預(yù)編譯,?如何檢查一段代碼執(zhí)行后是否聲明了全局變量,? 2,隱式轉(zhuǎn)換的種種規(guī)則 3,,關(guān)于對象,,對象的屬性可能有哪些特性(attribute)?什么是原型鏈,?如何檢測某一屬性是在對象中還是原型鏈中,?如何檢測是否是普通對象或空對象?寫一個工廠模式,?(工廠模式也有很多細(xì)節(jié),,具體可以參考《javascript模式》一書,不是《javascript設(shè)計模式》) 4,,變量類型檢測,、特性檢測以及異常避免 5,setTimeout的特性 6,,數(shù)組幾個API的手工實現(xiàn) 7,,事件 8,正則表達(dá)式,,至少要明白$1和\1的意思和幾個API的用法,。 9,,javascript如何獲得隨機unicode字符? 10,,JSON.stringify的參數(shù)傳一個什么對象的時候不能處理,?(可以試試JSON.stringify(window))11,fn.apply的第一個參數(shù)是context(函數(shù)運行的上下文),,那么這個參數(shù)傳一個數(shù)組會怎么處理,? DOM操作 1,實現(xiàn)一些API如getElementsByClass(有很多細(xì)節(jié),,參見司徒正美的博客) 2,,各種寬度高度(clientHeight之類)的含義及各瀏覽器之間的差異性 3,實現(xiàn)一個帶回調(diào)函數(shù)的插入DOM節(jié)點API(須考慮script標(biāo)簽,、documentFragment) CSS操作1,,如何操作CSS的偽類和偽元素?2,,如何檢測改瀏覽器是否支持某個CSS3的特性,? ajax操作1,get和post的區(qū)別及使用要點 2,,http協(xié)議,,包括格式、狀態(tài)碼,,cookie操作 3,,跨域 4,轉(zhuǎn)換JSON的幾種方式,,JSON.stringfy有什么使用限制,? 性能1,javascript有哪些性能優(yōu)化的措施,?可看《高性能javascript》 綜合:各種插件的設(shè)計思路其他的html5相關(guān)和NodeJS相關(guān)暫略 |
|