最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Web前端開發(fā)面試題-微信小程序篇

2022-07-25 11:36 作者:不凡學(xué)院  | 我要投稿

微信小程序

1.簡單描述下微信小程序的相關(guān)文件類型?

wxml 模板文件,是框架設(shè)計(jì)的一套標(biāo)簽語言,結(jié)合基礎(chǔ)組件、事件系統(tǒng)、可以構(gòu)建出頁面的結(jié)構(gòu)

wxss 樣式文件,是一套樣式語言,用于描述WXML的組件樣式

js 腳本邏輯文件,邏輯處理網(wǎng)絡(luò)請求

json 配置文件,小程序設(shè)置,如頁面注冊,頁面標(biāo)題及tabBar

app.json 整個(gè)小程序的全局配置,包括:

pages:[所有頁面路徑]

網(wǎng)絡(luò)設(shè)置(網(wǎng)絡(luò)超時(shí)時(shí)間)

界面表現(xiàn)(頁面注冊)

window:{背景色、導(dǎo)航樣式、默認(rèn)標(biāo)題}

底部tab等

app.js 監(jiān)聽并處理小程序的生命周期函數(shù)、聲明全局變量

app.wxss 全局配置的樣式文件

2.請談?wù)剋xml與標(biāo)準(zhǔn)的html的異同?

都是用來描述頁面的結(jié)構(gòu);

都由標(biāo)簽、屬性等構(gòu)成;

標(biāo)簽名字不一樣,且小程序標(biāo)簽更少,單一標(biāo)簽更多;

多了一些 wx:if 這樣的屬性以及 {{ }} 這樣的表達(dá)式

WXML僅能在微信小程序開發(fā)者工具中預(yù)覽,而HTML可以在瀏覽器內(nèi)預(yù)覽

組件封裝不同, WXML對組件進(jìn)行了重新封裝,

小程序運(yùn)行在JS Core內(nèi),沒有DOM樹和window對象,小程序中無法使用window對象和document對象。

3.請談?wù)勑〕绦虻碾p向綁定和vue的異同?

大體相同,但小程序直接this.data的屬性是不可以同步到視圖的,必須調(diào)用this.setData()方法!

1.雙向綁定:vue默認(rèn)支持雙向綁定,微信小程序需要借助data。

2.取值:vue中,通過this.reason取值。小程序中,通過this.data.reason取值。

3.定義方法:小程序使用 在app.js中定義即可,vue的方法通過寫在method中進(jìn)行定義。

1. 去變量的時(shí)候:

???- 小程序 ?wx:for = "lists"

???- Vue是 ?v-for = "item in lists"

2. 調(diào)用data模型(賦值)的時(shí)候:

???- 小程序:this.data.item //調(diào)用 ?this.setData({item:1}) //賦值

???- vue: this.item //調(diào)用 ?this.item =1 //賦值

小程序的雙向綁定實(shí)際上并不是雙向綁定 如果在小程序.js文件中改變了某個(gè)變量的值 那么頁面上的值并不會跟著改變 如果想要頁面上的值也跟著改變的話 需要通過setData來操作 而Vue默認(rèn)就是雙向綁定 只改變了某個(gè)變量的值 頁面上也會跟著改變

4.請談?wù)勑〕绦虻纳芷诤瘮?shù)?

onLoad() 頁面加載時(shí)觸發(fā),只會調(diào)用一次,可獲取當(dāng)前頁面路徑中的參數(shù)。

onShow() 頁面顯示/切入前臺時(shí)觸發(fā),一般用來發(fā)送數(shù)據(jù)請求;

onReady() 頁面初次渲染完成時(shí)觸發(fā), 只會調(diào)用一次,代表頁面已可和視圖層進(jìn)行交互。

onHide() 頁面隱藏/切入后臺時(shí)觸發(fā), 如底部 tab 切換到其他頁面或小程序切入后臺等。

onUnload() 頁面卸載時(shí)觸發(fā),如redirectTo或navigateBack到其他頁面時(shí)。

onPullDownRefresh() 下拉刷新的鉤子函數(shù) 用戶下拉刷新時(shí)會自動(dòng)走到這個(gè)函數(shù)中

onReachBottom() 上翻到底的鉤子函數(shù)

5.簡述微信小程序原理?

小程序本質(zhì)就是一個(gè)單頁面應(yīng)用,所有的頁面渲染和事件處理,都在一個(gè)頁面內(nèi)進(jìn)行,但又可以通過微信客戶端調(diào)用原生的各種接口;

它的架構(gòu),是數(shù)據(jù)驅(qū)動(dòng)的架構(gòu)模式,它的UI和數(shù)據(jù)是分離的,所有的頁面更新,都需要通過對數(shù)據(jù)的更改來實(shí)現(xiàn);

它從技術(shù)講和現(xiàn)有的前端開發(fā)差不多,采用JavaScript、WXML、WXSS三種技術(shù)進(jìn)行開發(fā);

功能可分為webview和appService兩個(gè)部分;

webview用來展現(xiàn)UI,appService有來處理業(yè)務(wù)邏輯、數(shù)據(jù)及接口調(diào)用;

兩個(gè)部分在兩個(gè)進(jìn)程中運(yùn)行,通過系統(tǒng)層JSBridge實(shí)現(xiàn)通信,實(shí)現(xiàn)UI的渲染、事件的處理等。

微信小程序采用JavaScript、wxml、wxss三種技術(shù)進(jìn)行開發(fā),與現(xiàn)有前端開發(fā)的區(qū)別:

JavaScript的代碼是運(yùn)行在微信APP中的,因此一些h5技術(shù)的應(yīng)用需要微信APP提供對應(yīng)的API支持;

wxml微信自己基于xml語法開發(fā)的,因此在開發(fā)時(shí)只能使用微信提供的現(xiàn)有標(biāo)簽,html的標(biāo)簽是無法使用的;

wxss具有css的大部分特性,但并不是所有都支持沒有詳細(xì)文檔(wxss的圖片引入需使用外鏈地址,沒有body,樣式可直接使用import導(dǎo)入)。

微信的架構(gòu),是數(shù)據(jù)驅(qū)動(dòng)的架構(gòu)模式,它的UI和數(shù)據(jù)是分離的,所有的頁面更新,都需要通過對數(shù)據(jù)的更改來實(shí)現(xiàn)。

小程序功能分為webview和APPservice,webview主要用來展示UI,appservice用來處理業(yè)務(wù)邏輯、數(shù)據(jù)及接口調(diào)用。它們在兩個(gè)進(jìn)程中進(jìn)行,通過系統(tǒng)層JSBridge實(shí)現(xiàn)通信,實(shí)現(xiàn)UI的渲染、事件處理。

6.分析微信小程序的優(yōu)劣勢?

優(yōu)勢:

容易上手,基礎(chǔ)組件庫比較全,基本上不需要考慮兼容問題;

開發(fā)文檔比較完善,開發(fā)社區(qū)比較活躍,支持插件式開發(fā);

良好的用戶體驗(yàn):無需下載,通過搜索和掃一掃就可以打開,打開速度快,安卓上可以添加到桌面,與原生APP差不多;

開發(fā)成本比APP要低;

為用戶提供良好的安全保障(小程序發(fā)布 嚴(yán)格的審查流程)

劣勢:

限制較多,單個(gè)包文件大小不能超過2M,不能打開超過10個(gè)層級的頁面;

樣式單一,部分組件已經(jīng)是成型了的,樣式不可修改,例如:幻燈片、導(dǎo)航

推廣面窄,不能分享朋友圈,只能通過分享給朋友,附近小程序推廣

依托于微信,無法開發(fā)后臺管理功能

后臺調(diào)試麻煩,因?yàn)閍pi接口必須https請求且公網(wǎng)地址

真機(jī)測試,個(gè)別功能安卓和蘋果表現(xiàn)迥異,例如安卓的定位功能加載很慢

7.簡述小程序原理

小程序分為兩個(gè)部分webview和appService,webview用來展現(xiàn)UI,appService用來處理業(yè)務(wù)邏輯、數(shù)據(jù)及接口調(diào)用,它們在兩個(gè)進(jìn)程中運(yùn)行,通過系統(tǒng)層JSBridge實(shí)現(xiàn)通信,完成UI渲染、事件處理。

8.如何實(shí)現(xiàn)下拉刷新

先在app.json或page.json中配置enablePullDownRefresh:true

page里用onPullDownRefresh函數(shù),在下拉刷新時(shí)執(zhí)行

在下拉函數(shù)執(zhí)行時(shí)發(fā)起數(shù)據(jù)請求,請求返回后,調(diào)用wx.stopPullDownRefresh停止下拉刷新的狀態(tài)

9.bindtap和catchtap的區(qū)別是什么

bindtap不會阻止冒泡事件,catchtap阻止冒泡

10.小程序關(guān)聯(lián)微信公眾號如何確定用戶的唯一性?

使用wx.getUserInfo方法 withCredentials為true時(shí),可獲取encryptedData,里面有union_id.后端需要進(jìn)行對稱解密。

內(nèi)容有些多,大家可以先點(diǎn)贊收藏,但一定要去看。當(dāng)你把大廠面試題知識點(diǎn)都看完并且理解了,以后就沒有你過不了的前端面試。資源都幫你整理好了,還不學(xué)就有些說不過去了。

更多學(xué)習(xí)資料以及面試題庫,需要的伙伴點(diǎn)擊下方可以無償獲?。?!

微信小程序開發(fā)最新教程

2022年前端全套教程


Web前端開發(fā)面試題-微信小程序篇的評論 (共 條)

分享到微博請遵守國家法律
崇文区| 托克托县| 桐庐县| 上蔡县| 綦江县| 耿马| 广安市| 金寨县| 成安县| 霍山县| 铜鼓县| 六盘水市| 图们市| 台东县| 孝感市| 巨野县| 松桃| 平乐县| 盐津县| 孝感市| 沙坪坝区| 馆陶县| 乌鲁木齐市| 昆明市| 湟源县| 海口市| 宁安市| 鹿邑县| 乌鲁木齐县| 西宁市| 吉林省| 东明县| 东光县| 金乡县| 景东| 武定县| 本溪市| 冀州市| 河东区| 邓州市| 益阳市|