1:let與var的區別
let宣告的變數,作用域為這個語句所在的程式碼塊內,不會存在變數提升;
var宣告的變數,作用域為這個語句所在的函式內,並且存在變數提升的現象;
let是不允許重複宣告的
2:this指向的一些總結
全域性變數是掛載在win物件下的;
一般情況下this指向呼叫他的那個人;
es6中的箭頭函式,this是指向建立者,而不是呼叫者
通過call apply bind可以改變this的指向
3:常見的瀏覽器及核心是什麼
IE:Trident
火狐:Gecko
opera: Presto
safari/cheome:Webkit
4:box-sizing常用的屬性
通過這個小demo就可以看的很清楚content-box和border-box的區別
看對應的盒子模型
5:html5的新特性
canvas;
video和audio標籤;
sessionStorage的資料會在瀏覽器關閉的時候自動刪除,localStorage會長期儲存資料,瀏覽器關閉後資料不會丟失;
websocket;
語義化標籤 nav header footer article section;
6:js的基本資料型別,es6中新增的一個資料型別是什麼?
undefined null boolean number string;
es6中新增的是symbol 它主要是保證每個屬性的名字都是獨一無二的
7:js中dom新增/移除/建立/查詢節點的方法
appendChild() ;
removeChild();
createDocumentFragment(); 建立一個dom片段
createElement(); 建立一個具體的元素
createTextNode(); 建立一個文字節點
getElementByTagName();通過變遷名稱查詢
getElementByName(); 通過元素的Name屬性的值
getElementById();痛毆元素的id,唯一的
8:null和undefined的區別
null:表示無的物件;
undefined:表示無的原始值;
出一個題:null==undefined 和 null===undefined
分別列印出:true 和false,順便考察一下==和===的區別
9:new到底幹了什麼?
建立一個空的物件,同時this變數飲用該物件,同時還繼承了該函式的原型;
屬性和方法也都加入到了this引用的物件中;
返回一個新的物件
10:曾經為專案做過哪些效能優化?
原始碼壓縮,圖片壓縮,使用精靈圖,cdn託管,data快取
圖片預載入,樣式在頂部,指令碼在底部
減少全域性變數的使用
減少dom操作
避免css表示式的使用
使用外鏈
如果上面的回答,都還可以,下一步,我就要問原理和框架了,哈哈!!比如:
1:mvvm分別指什麼?
2:http和https簡單說一下?
3:為什麼https安全?http和https預設的埠號分別是什麼?
4:對前端模組化的認識?
5:websocket的原理?
6:漸進增強和優雅降級是什麼鬼玩意?
7:TCP的三四策略是啥?(三次握手四次揮手)
8:XML和JSON的區別?
9:都說前端是網頁製作轉變而來的一種職業,談談你的看法?前端工程的價值體現在哪裡?
10:最後來一個爆炸問答,說一下二叉樹演算法的原理。
感覺問完這一套題,我死都不知道怎麼死的。我也是為了他前端的修煉和企業的任務,畢竟花著人家的錢,哈哈。
回答不上不是問題,問題是有沒有一顆探索求知慾的心