面試題記錄

競己發表於2019-10-10

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的生命週期

(juejin.im/post/5d1b46…)

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]);
複製程式碼
  1. Vue中nextTick方法

Vue.nextTick(callback),當資料發生變化,更新後執行回撥。 Vue.$nextTick(callback),當dom發生變化,更新後執行的回撥。

11.js原型鏈(segmentfault.com/a/119000001…)

面試題記錄

建構函式,原型和例項的關係 每個建構函式(constructor)都有一個原型物件(prototype),原型物件都包含一個指向建構函式的指標,而例項(instance)都包含一個指向原型物件的內部指標. 原型鏈和繼承好好研究下單獨寫一篇吧~

相關文章