問題:
鏈接地址:http://www.cnblogs.com/yexiaochai/p/3158443.html
① 作用域問題
var a = 6; setTimeout(function () { alert(a); a = 666; }, 1000); a = 66;
這道題,我可恥的沒有答起,我面試結束剛剛上出租就知道這道題很水了。。。。考察作用域的,當時活生生的被大神氣場照住了,周圍人的集體智商都減低了!!!
② 語義化標簽
這道題我確實沒轍,之前其實差點寫類似的博客,卻沒有寫,今天結束后補上吧!
1)tite與h1的區別
2)b與strong的區別
3)i與em的區別
PS:不要小看這些題,80%人答不上來
③ 事件綁定
addEventListener,第三個參數是用來表示事件是以事件冒泡還是事件捕獲這個各位都知道!但是他問的問題是:
我們給一個dom同時綁定兩個點擊事件,一個用捕獲,一個用冒泡,你來說下會執行幾次事件,然后會先執行冒泡還是捕獲!!!
來吧,誰能說出來。。。。
④ CSS選擇器問題
考察優先級問題,反正會出很多莫名其妙的變形,比如將style標簽寫在body后與body前有什么區別,比如同一dom應用多個class其應該如何表現,比如class a定義顏色為blue,class b定義顏色為red,同時應用到dom上,dom作何顯示。。。
好吧各位去回答吧。。。。。
淺見:
1. JS單線程
setTimeout加入到隊列的后面 所以結果是66
如果題目是這樣
var a = 6; setTimeout(function () { alert(a); var a = 666; }, 1000); a = 66;
結果就是undefined(變量提升)
2. 標簽語義化
1)你是不是寫錯了?title和alt的區別吧?
2)和3),->語氣
b和i,一個是加粗,一個是斜體,都是視覺上的效果,而em和strong有情感色彩加強
P.S:記得strong在IE和chrome顯示不同,一個加粗一個未加粗
3. 冒泡和捕捉
addEventListener綁定幾次就執行幾次,即便綁定的函數一樣也會多次執行,結果應該是先顯示捕捉再顯示冒泡
冒泡,需要先冒泡到根節點(document,部分瀏覽器是html節點),再向下,碰到有綁定的DOM就執行;而捕捉是直接從根節點開始(這里我理解的也不是很深入)
p.s:請移步http://www.cnblogs.com/yexiaochai/archive/2013/06/30/3163370.html
4.css渲染
如果寫在body后會重新渲染整個頁面;同一個DOM同時應用多個class,樣式都會應用,重復的樣式會覆蓋
總體感覺面試的題目還是比較基礎吧~
呵呵,我前幾天也被阿里面了,比較幸運的拿到了offer