1.css,div垂直居中(子元素寬高不固定)
<div class="wrapper">
<div class="content"></div>
</div>
複製程式碼
(1) position,tranform
.wrapper{
width: 100%;
height: 100%;
position: relative;
}
.content{
position: absolute;
left: 50%;
top: 50%;
tranform: translateX(-50%) translateY(-50%);
}
複製程式碼
(2) flex
.wrapper{
width: 100%;
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
複製程式碼
2.js基本資料型別和引用資料型別
(1)基本資料型別: String,Number,Boolean,Null,Undefined,Symbol
(2)引用資料型別:Object,Function,Array
3.css優先順序
!important > id選擇器 > class選擇器 > tag選擇器
4.css選擇器有哪些
(1)萬用字元*
(2)id
(3) class
(4)群組: div,p,ul{}
(5)後代: div p{}
5.css中的BFC
BFC其實就是,對css多種定位方案在使用過程中相互影響的解決方案
(1)解決margin疊加問題
(2)用於佈局
(3)清除浮動,計算BFC的高度 css中的BFC(www.html-js.com/article/186…)
6.vue資料雙向繫結的原理
Object.defineProperty()
複製程式碼
(www.cnblogs.com/canfoo/p/68…)
7.vue中的watch和computed
watch支援非同步,computed不支援,同時watch裡面的函式接收兩個值。分別為變化前和變化後的值,computed中只要依賴的值發生變化,便會重更新計算。
8.vue的生命週期
9.跨域原因,如何跨域(juejin.im/post/59c132…)
原因:瀏覽器的同源策略(同協議,同域名,同埠)
工程服務化後,不同職責的服務分散在不同的工程中,往往這些工程的域名是不同的,但一個需求可能需要對應到多個服務,這時便需要呼叫不同服務的介面,因此會出現跨域。
解決方法:
(1)jsonp
<script type="text/javascript">
function dosomething(data){
//處理獲得的資料
}
</script>
<script src="http://example.com/data.php?callback=dosomething"></script>
複製程式碼
<?php
$callback = $_GET['callback'];//得到回撥函式名
$data = array('a','b','c');//要返回的資料
echo $callback.'('.json_encode($data).')';//輸出
?>
複製程式碼
【JSONP的優缺點】 優點:相容性好(相容低版本IE) 缺點:1.JSONP只支援GET請求; 2.XMLHttpRequest相對於JSONP有著更好的錯誤處理機制
(2) CORS
(3) postMessage
window.postMessage(message,targetOrigin) 方法是html5新引進的特性,可以使用它來向其它的window物件傳送訊息,無論這個window物件是屬於同源或不同源,目前IE8+、FireFox、Chrome、Opera等瀏覽器都已經支援window.postMessage方法。
otherWindow.postMessage(message, targetOrigin, [transfer]);
複製程式碼
- Vue中nextTick方法
Vue.nextTick(callback)
,當資料發生變化,更新後執行回撥。
Vue.$nextTick(callback)
,當dom發生變化,更新後執行的回撥。
11.js原型鏈(segmentfault.com/a/119000001…)
建構函式,原型和例項的關係
每個建構函式(constructor)都有一個原型物件(prototype),原型物件都包含一個指向建構函式的指標,而例項(instance)都包含一個指向原型物件的內部指標.
原型鏈和繼承好好研究下單獨寫一篇吧~