千鋒教育web前端高頻面試題視頻教程,kerwin大話前端面試秘籍(附答案)

P20 小程序高頻面試題-2
一.怎么解決小程序的異步請(qǐng)求問題
1.在成功的回調(diào)中處理邏輯
2.對(duì)wx.request做promise封裝,使用.then.then的鏈?zhǔn)秸{(diào)用來解決回調(diào)地獄
二.小程序關(guān)聯(lián)微信公眾號(hào)如何確定用戶的唯一性
使用unionid來區(qū)分用戶的唯一性
三.如何實(shí)現(xiàn)下拉刷新
1.在全局config中的window配置enablepullDownRefresh
2.在局部的page中定義 onPullDownRefresh 鉤子函數(shù),達(dá)到下拉刷新條件時(shí),鉤子執(zhí)行,發(fā)出請(qǐng)求
3.請(qǐng)求返回后,調(diào)用 wx.stopPullDownRefresh 停止下拉刷新
三.bindtap和catchtap的區(qū)別是什么
1.相同點(diǎn):都是點(diǎn)擊事件函數(shù)
2.不同點(diǎn):catchtap有阻止冒泡的作用
四.簡(jiǎn)述微信支付的業(yè)務(wù)流程
1.用戶選擇商品,提交訂單,選擇微信支付,這里前端需要發(fā)送請(qǐng)求給后端,其中包含商品ID,數(shù)量,金額
2.后端收到訂單后,將訂單存入后臺(tái)系統(tǒng),做好訂單記錄,調(diào)用微信的統(tǒng)一下單接口
3.統(tǒng)一下單接口返回一個(gè)預(yù)支付(prepay_id)的 ID,生成簽名,將數(shù)據(jù)返回給前端
4.小程序工作人員需要調(diào)用 wx.requestPayment 方法來調(diào)用微信的支付界面
5.商戶后臺(tái)接收到支付通知
6.在 wx.requestPayment success返回一個(gè)成功的回調(diào),用戶會(huì)進(jìn)入到一個(gè)支付成功的界面
7.開通微信支付不能是個(gè)人用戶,只能是企業(yè)用戶且要通過系統(tǒng)認(rèn)證
五.什么是小程序自定義組件樣式隔離,他有哪幾種隔離模式?
1.app.wxss或頁面的wxss中使用標(biāo)簽選擇器來指定樣式,這樣會(huì)影響頁面和全部組件,不推薦
2.指定特俗樣式隔離選項(xiàng) styleIsolation
六.在小程序中又哪些方法讓圖·寬高比例保持不變?
使用 mode:widthFix,這樣寬度不會(huì)變,高度自適應(yīng)
七.小程序組件傳參(父子,子父)
1.父?jìng)髯?父組件通過屬性傳值,子組件通過properties接收
2.子傳父,需要在子組件中綁定一個(gè)自定義事件,使用 this.triggerEvent 傳遞,父組件通過事件來接收子組件傳遞過來的值
八.小程序組件的生命周期
1.created:組件實(shí)例被創(chuàng)建時(shí)執(zhí)行
2.attached:組件實(shí)例進(jìn)入頁面節(jié)點(diǎn)樹時(shí)執(zhí)行(類似mounted)
3.ready:在視圖層布局完成時(shí)執(zhí)行
4.moved:組件實(shí)例移動(dòng)到節(jié)點(diǎn)樹另一個(gè)位置時(shí)執(zhí)行
5.detached:組件實(shí)例從節(jié)點(diǎn)樹中移出時(shí)執(zhí)行
6.error:組件拋錯(cuò)時(shí)執(zhí)行
九.小程序中頁面生命周期
1.onLoad:在頁面加載時(shí)調(diào)用,一個(gè)頁面只會(huì)調(diào)用一次
2.onShow:顯示頁面是調(diào)用,每次打開頁面都會(huì)調(diào)用一次
3.onReady:首次顯示頁面時(shí)會(huì)觸發(fā),渲染頁面元素和樣式,一個(gè)頁面只會(huì)調(diào)用一次
4.onHidea:小程序進(jìn)入后臺(tái)運(yùn)行或者頁面跳轉(zhuǎn)到其他頁面時(shí)會(huì)觸發(fā)
5.onUnload:使用重定向方法 wx.redirectTo或者關(guān)閉當(dāng)前頁返回上一頁 wx.navigateBack()時(shí)觸發(fā)
十.小程序怎么實(shí)現(xiàn)路由傳參
1.wx.navigateTo
在url路路徑后面拼接參數(shù)
另一個(gè)頁面通過onload這個(gè)生命周期獲取
2.wx.redirectTo
十一.小程序中路由跳轉(zhuǎn)的區(qū)別
1.. wx.navigateTo():保留當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面。但是不能跳到tabbar 頁面.
2.wx.redirectTo():關(guān)閉當(dāng)前頁面,跳轉(zhuǎn)到應(yīng)用內(nèi)的某個(gè)頁面。但是不允許跳轉(zhuǎn)到tabbar頁面.
3.wx.switchTab():跳轉(zhuǎn)到TabBar頁面,并關(guān)閉其他所有非tabBar頁面
4.wx.navigateBack()關(guān)閉當(dāng)前頁面,返回上一頁面或多級(jí)頁面。可通過getcurrentPages()獲取當(dāng)前的頁面棧,決定需要返回幾層
5. wx.reLaqnch():關(guān)閉所有頁面,打開到應(yīng)用內(nèi)的某個(gè)頁面
十二.tabbar實(shí)現(xiàn)的原理
在app.js中配置
十三.小程序性能為什么好
1.因?yàn)槭禽p量級(jí)的,體積小,還能分包,提升性能優(yōu)化
2.運(yùn)行在微信端,很多功能只需要使用API來實(shí)現(xiàn),就可以實(shí)現(xiàn)跟APP一樣的功能
3.是基于微信宿主環(huán)境的,微信客戶端提供雙線程去執(zhí)行wxml, wxss,js文件,讓小程序可以快速的一下將數(shù)接渲染出來呈現(xiàn)在用廣的面前