整理了一下最近面試遇到的題css
/* 定位 */
position: absolute;
top: 50%;
left: 50;
transform: translate(-50%, 50%);
/* flex 佈局 */
display: flex;
justify-content: center;
align-items: center;
複製代碼
width = contentvue
width = content + padding + bordernode
- inline 只能設置左右 margin、padding, 不能設置 width 和 height
- inline-block 生成一個塊級別框,可是框的行爲跟內聯元素同樣
- link 是 HTML 提供的標籤
- link 引用的 css 會同時被加載,而 import 引用的 css 會等到頁面所有被下載完後再加載
- import 老版本瀏覽器不支持
- DOM可控性區別:沒法使用 dom 方法插入樣式
內聯樣式 > ID 選擇器 > 類選擇器 = 屬性選擇器 = 僞類選擇器 > 標籤選擇器 = 僞元素選擇器webpack
- Promise 代碼徹底都是 Promise 的 API (then、catch 等)
- async/await 是 Generator 函數的語法糖
閉包就是可以讀取其餘函數內部變量的函數 (來源: blog.csdn.net/yingziziziz…)nginx
讀取函數內部的變量 讓局部變量保存在內存中,實現變量數據共享git
- 因爲閉包會使得函數中的變量都被保存在內存中,內存消耗很大,因此不能濫用閉包,不然會形成網頁的性能問題,在IE中可能致使內存泄露。解決方法是,在退出函數以前,將不使用的局部變量所有刪除
- 閉包會在父函數外部,改變父函數內部變量的值。因此,若是你把父函數看成對象(object)使用,把閉包看成它的公用方法(Public Method),把內部變量看成它的私有屬性(private value),這時必定要當心,不要隨便改變父函數內部變量的值。
- 來源: www.jianshu.com/p/8376170fb…
關於原型其實文章仍是蠻多的,看着也有點迷糊 segmentfault.com/a/119000000…web
typeof、 instanceof 看 www.jianshu.com/p/5be700ee6…面試
- 原生對象: Object、Function、Array、String、Boolean、Number、Date、RegExp、Error、EvalError、RangeError、ReferenceError、SyntaxError、TypeError、URIError、Global
- 宿主對象: 有宿主提供的對象,在瀏覽器中window對象以及其下邊全部的子對象(如bom、dom等等),在node中是globla及其子對象,也包含自定義的類對象。【何爲「宿主對象」? 在web中,ECMAScript中的「宿主」固然就是咱們網頁的運行環境,即「操做系統」和「瀏覽器」。全部非本地對象都是宿主對象(host object),即由 ECMAScript 實現的宿主環境提供的對象。】
- .call(this, arg1, arg2, arg3)
- .apply(this, arguments)
若是兩個頁面擁有 相同 的 協議(protocol),端口(若是指定),和 主機,那麼這兩個頁面就屬於同一個源(origin)。 (協議、域名、端口)算法
- jsonp
- iframe
- 跨域資源共享(CORS)
- nginx 代理跨域
看: blog.csdn.net/chenchunlin…json
- pop: 刪除數組最後一個元素,返回刪除的那個元素
- push: 往數組結尾添加元素
- shift: 刪除數組第一個元素,返回該元素
- unshift: 往數組前添加元素
事件委託就是利用冒泡的原理,把事件加到父元素或祖先元素上,觸發執行效果。
優勢: 提升性能,顯著提升事件處理速度,減小內存佔用
var btn6 = document.getElementById("btn6");
document.onclick = function(event){
event = event || window.event;
var target = event.target || event.srcElement;
if(target == btn6){
alert(btn5.value);
}
}
複製代碼
Undefined、Null、Boolean、String、Number、Symbol、Object
- 1.toString() => 報錯
- 1..toString() => "1"
- 1.0.toString() => "1"
- 在JavaScript中,回調函數具體的定義爲:函數A做爲參數(函數引用)傳遞到另外一個函數B中,而且這個函數B執行函數A。咱們就說函數A叫作回調函數。若是沒有名稱(函數表達式),就叫作匿名回調函數。所以callback 不必定用於異步,通常同步(阻塞)的場景下也常常用到回調,好比要求執行某些操做後執行回調函數。
- 如何解決回調地獄
- 保持代碼簡短
- 模塊化
- 處理每個錯誤
作了個小測試,看: note.youdao.com/noteshare?i…
v-if 直接從 dom 樹上刪除或重建元素節點, v-show 只是修改 display 的值 v-if 高消耗,不適合作頻繁切換
keep-alive 是 Vue 內置的一個組件,可使被包含的組件保留狀態,或避免從新渲染
看這篇吧 (什麼是WebPack,爲何要使用它) www.jianshu.com/p/d745b94ae…
後面陸續補充
感謝預覽,歡迎提意見、建議,謝謝!