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.cn/post/684490…)
原因:浏览器的同源策略(同协议,同域名,同端口)
工程服务化后,不同职责的服务分散在不同的工程中,往往这些工程的域名是不同的,但一个需求可能需要对应到多个服务,这时便需要调用不同服务的接口,因此会出现跨域。
解决方法:
(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)都包含一个指向原型对象的内部指针.
原型链和继承好好研究下单独写一篇吧~