1. css 中上下左右居中css
(1)子容器絕對定位,top:0,bottom:0,margin:autohtml
<style type="text/css"> html,body{ margin: 0; padding: 0; } .box { position: relative; /*這個能夠去掉 看看效果哦,注意會有變化啊*/ width: 600px; /*寬*/ height: 400px; /*高*/ background-color: rgba(212,66,33,.86); margin: 0 auto; } .Absolute-Center { width: 160px; height: 80px; background-color: green; position: absolute; top: 0; bottom: 0; left: 0; right: 0; /*css溢出法*/ margin: auto; } </style>
(2) 子容器相對定位,top:50%,translateY(-50%)前端
(3) 子元素1:float, 子元素2:clear:both; floter元素的margin-bottom值 = content的height的值的負一半vue
2.什麼是閉包jquery
閉包就是可以讀取其餘函數內部變量的函數。算法
function f1(){ var n=999; function f2(){ alert(n); // 999 } }
f2 函數處於f1函數的內部,f2函數能夠讀取f1 函數的變量,f1函數不能夠讀取函數內部的變量,而閉包就是這個做用,讓f1 讀取他內部函數的變量segmentfault
閉包的缺點,內存消耗大,影響性能瀏覽器
(3)localStorage、sessionStorage、Cookie的區別及用法服務器
localStorage生命週期是永久,這意味着除非用戶顯示在瀏覽器提供的UI上清除localStorage信息,不然這些信息將永遠存在。session
sessionStorage生命週期爲當前窗口或標籤頁,一旦窗口或標籤頁被永久關閉了,那麼全部經過sessionStorage存儲的數據也就被清空了。
(4) v-if 與 v- show
v-if和v-show都是用來控制元素的渲染。v-if判斷是否加載,能夠減輕服務器的壓力,在須要時加載,但有更高的切換開銷;v-show調整DOM元素的CSS的dispaly屬性,可使客戶端操做更加流暢,但有更高的初始渲染開銷。若是須要很是頻繁地切換,則使用 v-show 較好;若是在運行時條件不多改變,則使用 v-if 較好。
(5) jquery 與 vue 的使用區別
jQuery是使用選擇器($)選取DOM對象,對其進行賦值、取值、事件綁定等操做,其實和原生的HTML的區別只在於能夠更方便的選取和操做DOM對象,而數據和界面是在一塊兒的。好比須要獲取label標籤的內容:$("lable").val();
,它仍是依賴DOM元素的值。
Vue則是經過Vue對象將數據和View徹底分離開來了。對數據進行操做再也不須要引用相應的DOM對象,能夠說數據和View是分離的,他們經過Vue對象這個vm實現相互的綁定。這就是傳說中的MVVM。
(6) 做用域鏈
根據在內部函數能夠訪問外部函數變量的這種機制,用鏈式查找決定哪些數據能被內部函數訪問。
做用域鏈的最前端始終是當前執行的代碼所在環境的變量對象(若是該環境是函數,則將其活動對象做爲變量對象),下一個變量對象來自包含環境(包含當前還行環境的環境),下一個變量對象來自包含環境的包含環境,依次往上,直到全局執行環境的變量對象。全局執行環境的變量對象始終是做用域鏈中的最後一個對象。
(8)vue 的生命週期
總共分爲8個階段:
beforeCreate----建立前 組件實例更被建立,組件屬性計算以前,數據對象data都爲undefined,未初始化。
created----建立後 組件實例建立完成,屬性已經綁定,數據對象data已存在,但dom未生成,$el未存在
beforeMount---掛載前 vue實例的$el和data都已初始化,掛載以前爲虛擬的dom節點,data.message未替換
mounted-----掛載後 vue實例掛載完成,data.message成功渲染。
beforeUpdate----更新前 當data變化時,會觸發beforeUpdate方法
updated----更新後 當data變化時,會觸發updated方法
beforeDestory---銷燬前 組件銷燬以前調用
destoryed---銷燬後 組件銷燬以後調用,對data的改變不會再觸發周期函數,vue實例已解除事件監聽和dom綁定,但dom結構依然存在
(9) 怎麼保留兩位小數
(10)vue的虛擬dom
虛擬的DOM的核心思想是:對複雜的文檔DOM結構,提供一種方便的工具,進行最小化地DOM操做。
用 JavaScript 對象表示 DOM 信息和結構,當狀態變動的時候,從新渲染這個 JavaScript 的對象結構。固然這樣作其實沒什麼卵用,由於真正的頁面其實沒有改變。
可是能夠用新渲染的對象樹去和舊的樹進行對比,記錄這兩棵樹差別。記錄下來的不一樣就是咱們須要對頁面真正的 DOM 操做,而後把它們應用在真正的 DOM 樹上,頁面就變動了。這樣就能夠作到:視圖的結構確實是整個全新渲染了,可是最後操做DOM的時候確實只變動有不一樣的地方。
這就是所謂的 Virtual DOM 算法。包括幾個步驟:
用 JavaScript 對象結構表示 DOM 樹的結構;而後用這個樹構建一個真正的 DOM 樹,插到文檔當中當狀態變動的時候,從新構造一棵新的對象樹。而後用新的樹和舊的樹進行比較,記錄兩棵樹差別把2所記錄的差別應用到步驟1所構建的真正的DOM樹上,視圖就更新了