前端常見小公司面試題
阿新 • • 發佈:2021-01-10
js
昨天剛一個上海的公司給我打電話面試,問了我一堆基礎的東西,例如:position、響應式佈局,div盒子,js,jquery,bootstrap等等讓我講一講這些怎麼理解的…
absolute : 將物件從文件流中拖出,使用left,right,top,bottom等屬性進行絕對定位。而其層疊通過css z-index屬性定義。此時物件不具有邊距,但仍有補白和邊框
relative : 物件不可層疊,但將依據left,right,top,bottom等屬性在正常文件流中偏移位置
相對定位就是,在相對於他原來的位置上開始移動,但是原來的位置還是在那裡,他還是佔據著位置,雖然他已經不在剛開始的位置上了,相當於,佔著茅坑不拉shi
絕對定位是在瀏覽器的左上角開始移動,他是不會佔據剛開始的位置
大概就是這個樣子,實現的方法有很多,但是基本上都要需要先給大div設定一個相對定位,下面都是id是container的div是大盒子,small是小盒子哦。下面我就不說了。
- 第一種
#container {
position: relative;
}
#small {
/* 絕對定位 */
position: absolute;
/*第一種方法
top: 50%;
left: 50%;
margin-left: -50px;
margin-top: -50px; */
/* 需要達到子元素高度寬度一半的負值,缺點就是需要知道子元素的高度和寬度 */
}
2.第二種
還是一樣的給父元素設定相對定位,給子元素設定上下左右為0,再通過margin控制居中
#container {
position: relative;
}
#small {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}
- 第三種
通過css3給的屬性transform設定平移50%來達到效果
#container {
position: relative;
}
#small {
position: absolute;
/* 這是第三種
top: 50%;
left: 50%;
平移50%
transform: translate(-50%, -50%); */
}
- 第四種
只需要給父元素設定display為彈性佈局,通過彈性佈局的屬性來改變位置,這一種是很簡單,當然還有其他的方式,這只是我懂得幾種。
#container {
/* 第四種方式,只需要設定這三個,其他的都不需要設定
display: flex;
justify-content: center;
align-items: center; */
}
關於this的指向問題
大家可以自行百度
這是我知道的可以解決指向問題的(all/apply/bind解決this指向問題)
箭頭函式的this指向都是window,這一個就很容易了
vue的生命週期和資料雙向繫結
生命週期可以看官網哦,很清楚。
雙向繫結v-model,在通過vue的雙向繫結給這個input框繫結一個變數
記得在data裡面宣告這個變數
微信小程式
- 關於微信小程式的生命週期?
- onLaunch: 初始化小程式時觸發,全域性只觸發一次
- onShow: 小程式初始化完成或使用者從後臺切換到前臺顯示時觸發
- onHide: 使用者從前臺切換到後臺隱藏時觸發
- onError: 小程式發生指令碼錯誤,或者 api 呼叫失敗時,會觸發 onError 並帶上錯誤資訊
後臺: 點選左上角關閉,或者按了裝置 Home 鍵離開微信,並沒有直接銷燬,而是進入後臺
前臺:再次進入微信或再次開啟小程式,相當於從後臺進入前臺。
- 微信小程式的this.setdata()跟vue的雙向繫結一樣
- 移動端元件:微信小程式官網的元件也是很豐富的,可以直接使用,我推薦這個vant可以進去看看 vant官網