1. 程式人生 > >前端筆試題彙總 2018/12/04 (2)

前端筆試題彙總 2018/12/04 (2)

定位佈局:

通過設定position屬性實現。

CSS中規定的第三種定位機制,能夠實現橫向多列布局及較為複雜的定位。

比如:帶有遮罩層效果的提示框、固定層效果、全屏廣告等等。

 

流式佈局:讓佈局脫離固定值限制,可以根據頁面情況改變相應發生改變

 

vue用什麼寫的:

 

怎麼跟後端商量命名介面的,介面定義成什麼格式:

定好介面名稱 引數 格式 方法 返回值

 

閉包傳遞引數:在javascript中是不允許直接訪問儲存在堆記憶體中的物件的,所以在訪問一個物件時,首先得到的是這個物件在堆記憶體中的地址,然後再按照這個地址去獲得這個物件中的值,這就是傳說中的按引用訪問。而原始型別的值則是可以直接訪問到的。

 

1、 當傳遞的為基本型別值得時候, 計算機會在棧記憶體開闢一塊空間進行儲存

2、當傳遞為 引用型別值的時候, 計算機會在棧記憶體開闢一塊空間儲存指標, 指向堆記憶體的 資料

3、棧記憶體資料是js自己自動建立。並自己回收的

 

 

Css優先順序:瀏覽器預設樣式 < 瀏覽器使用者自定義樣式 < 外部樣式表 < 內部樣式表 < 內聯樣式表

 

Px rpx em rem :https://blog.csdn.net/yeshenliaosuifeng/article/details/77282296

rem是指相對於根元素的字型大小的單位。em單位是指相對於父元素的字型大小的單位。為了簡化font-size的換算,需要在css中的body選擇器中宣告Font-size=62.5%,這就使em值變為 16px*62.5%=10px, 這樣12px=1.2em, 10px=1em, 也就是說只需要將你的原來的px數值除以10,然後換上em作為單位就行了。在專案裡的字型、容器(如div等)都可以 用rem,這樣的話它就能自己隨螢幕尺寸調節了。

 

規定螢幕寬為750rpx   1rem=750/20rpx。

 iPhone6 上,螢幕寬度為375px  1rpx = 0.5px 

 

儲存使用者登入狀態:

https://www.jianshu.com/p/b2b634c77502

 

箭頭函式與普通函式的區別:

箭頭函式是匿名函式,不能作為建構函式,不能使用new

箭頭函式不繫結arguments,取而代之用rest引數...解決

箭頭函式不繫結this,會捕獲其所在的上下文的this值,作為自己的this值

箭頭函式通過 call()  或   apply() 方法呼叫一個函式時,只傳入了一個引數,對 this 並沒有影響。

箭頭函式沒有原型屬性

1、箭頭函式的this永遠指向其上下文的 this,任何方法都改變不了其指向,如call(), bind(), apply()

2、普通函式的this指向呼叫它的那個物件

 

 

Vue的生命週期:

1、建立前/後: 在 beforeCreate 階段,vue 例項的掛載元素 el 還沒有。

2、載入前/後:在 beforeMount 階段,vue 例項的$el 和 data 都初始化了,但還是掛載之前為虛擬的 dom 節點,data.message 還未替換。在 mounted 階段,vue 例項掛載完成,data.message 成功渲染。

3、更新前/後:當 data 變化時,會觸發 beforeUpdate 和 updated 方法。

4、銷燬前/後:在執行 destroy 方法後,對 data 的改變不會再觸發周期函式,說明此時 vue 例項已經解除了事件監聽以及和 dom 的繫結,但是 dom 結構依然存在

Vue的雙向繫結:vue.js 是採用資料劫持結合釋出者-訂閱者模式的方式,通過 Object.defineProperty()來劫持各個屬性的 setter,getter,在資料變動時釋出訊息給訂閱者,觸發相應的監聽回撥。

 

小程式怎麼實現與後臺的互動:微信與後臺伺服器之間的資料通訊是呼叫wx.request實現的

vue怎麼實現與後臺的互動:實現統一向後端傳送請求資料,封裝一個ajax請求,在專案config資料夾下的index.js檔案裡設定跨域

 

 

深拷貝和淺拷貝:

淺拷貝只是複製了物件的引用地址,兩個物件指向同一個記憶體地址,所以修改其中任意的值,另一個值都會隨之變化。 深拷貝是將物件及值複製過來,兩個物件修改其中任意的值另一個值不會改變

GET請求與POST請求的區別:GET和POST本質上沒有區別

GET把引數包含在URL中,POST通過request body傳遞引數。

GET請求只能進行url編碼,而POST支援多種編碼方式。

GET請求在URL中傳送的引數是有長度限制的,而POST麼有。

GET比POST更不安全,因為引數直接暴露在URL上,所以不能用來傳遞敏感資訊。

H5的新標籤有哪些:

1.多媒體:<audio></audio>, <video><video>,<source></source>, <embed></embed>, <track></track>
2.新表單元素:<datalist> ,<output> , <keygen>
3.新文件節段和綱要:<header>頁面頭部、<section>章節、<aside>邊欄、<article>文件內容、<footer>頁面底部

CSS3的新特性:

新的選擇器、文字及塊陰影、多背景圖、顏色漸變、圓角等。CSS3的各種動畫效果,如:旋轉、移動、縮放等,還包括圖示字型的應用。

動畫有哪些屬性:旋轉、移動、縮放、傾斜等

 

vue的生命週期函式:

  1. beforeCreate
  2. created
  3. beforeMount
  4. mounted
  5. beforeUpdate
  6. updated
  7. beforeDestroy
  8. destroyed

 

ES6的新特性:

 

Map:陣列對映一個新陣列

 

陣列去重的方法:

1、構建一個新的陣列存放結果,for迴圈中每次從原陣列中取出一個元素,用這個元素迴圈與結果陣列對比,若結果陣列中沒有該元素,則存到結果陣列中2、先將原陣列進行排序,檢查原陣列中的第i個元素 與 結果陣列中的最後一個元素是否相同,因為已經排序,所以重複元素會在相鄰位置,如果不相同,則將該元素存入結果陣列中

 

排序演算法:

氣泡排序

兩個陣列拼接   arrayObject.concat(arrayX,arrayX,......,arrayX)
非同步、同步、阻塞、非阻塞
非同步和同步:被請求人的訊息通知機制
非同步:當被請求人處理完成事情以後會主動通知(事件通知,回撥等方式)
同步:當被請求人處理完成事情以後不會主動通知,需要請求的人主動輪詢