小程序面試題

1慢宗、小程序的啟動:

冷啟動: 如果用戶首次打開轴合,或小程序銷毀后被用戶再次打開,此時(shí)小程序需要重新加載啟動尔艇,即冷啟動裹赴。

熱啟動: 如果用戶已經(jīng)打開過某小程序喜庞,然后在一定時(shí)間內(nèi)再次打開該小程序,此時(shí)小程序并未被銷毀棋返,只是從后臺狀態(tài)進(jìn)入前臺狀態(tài)延都,這個(gè)過程就是熱啟動。

從小程序生命周期的角度來看睛竣,我們一般講的「啟動」專指冷啟動晰房,熱啟動一般被稱為后臺切前臺

2、小程序的更新機(jī)制:

在訪問小程序時(shí)射沟,微信會將小程序的代碼包緩存到本地殊者。

小程序的更新機(jī)有兩種:啟動時(shí) 同步更新,和 啟動時(shí) 異步更新验夯。

啟動時(shí)同步更新:微信運(yùn)行時(shí)猖吴,會定期檢查最近使用的小程序是否有更新,如果有更新挥转,下次小程序啟動時(shí)會同步進(jìn)行更新海蔽,更新到最新版本后再打開小程序。如果用戶長時(shí)間未使用小程序绑谣,會強(qiáng)制同步檢查版本更新准潭。

啟動時(shí)異步更新:在啟動前沒有發(fā)現(xiàn)更新,小程序每次冷啟動時(shí)域仇,都會異步檢查是否更新版本刑然。如果發(fā)現(xiàn)有新版本,將會異步下載新版本的代碼包暇务,將新版本的小程序在下一次冷啟動進(jìn)行使用泼掠,當(dāng)前訪問使用的依然是本地的舊版本代碼。

onLaunch: 是小程序的鉤子函數(shù)垦细,這個(gè)鉤子函數(shù)在冷啟動時(shí)肯定會執(zhí)行择镇,自動向微信后臺請求版本信息,如有新版本括改,會進(jìn)行立即下載腻豌。

3、小程序的生命周期:

一個(gè)小程序的生命周期由 應(yīng)用生命周期、頁面生命周期和組件生命周期三部分來組成吝梅。

(1) 應(yīng)用生命周期:指 小程序從 啟動 -> 運(yùn)行 ->銷毀 的整個(gè)過程

·app.js——應(yīng)用生命周期函數(shù):onLaunch(小程序初始化)虱疏、onShow(小程序啟動或切前臺)、onHide(小程序切后臺)

(2)頁面的生命周期:指 頁面從 加載-> 運(yùn)行 ->銷毀 的整個(gè)過程

頁面的js——頁面的生命周期函數(shù):onLoad(監(jiān)聽頁面加載)苏携、onShow(監(jiān)聽頁面展示)做瞪、onReady(監(jiān)聽頁面渲染完成)、onUnload(監(jiān)聽頁面卸載)右冻、onHide(監(jiān)聽頁面隱藏)

注意:1装蓬、tabBar頁面之間相互切換,頁面不會被銷毀纱扭。2牍帚、點(diǎn)擊左上角返回上一個(gè)頁面,會銷毀當(dāng)前頁面乳蛾。

4履羞、小程序API:

(1)分類:

異步API:通常接收一個(gè)object類型的參數(shù),例如:wx.request({})

同步API:約定以Sync結(jié)尾屡久,例如wx.setStorageSync()

時(shí)間監(jiān)聽API:約定以on開頭忆首,例如onAppHide()

異步API支持callback&Promise兩種調(diào)用方式:

1、當(dāng)接口參數(shù)Object對象中不包含success被环、fall糙及、complete時(shí)將默認(rèn)返回Promise

2、部分接口如request筛欢、uploadFile本身就有返回值浸锨,因此不支持Promise風(fēng)格調(diào)用方式,他們的promisify需要開發(fā)者自行封裝版姑。

(2)列舉介紹:

a柱搜、wx.request()發(fā)起網(wǎng)絡(luò)請求; wx.request請求域名必須在微信公眾平臺進(jìn)行配置剥险。

b聪蘸、用于頁面交互的api:

wx.showLoading() :顯示loading提示框

wx.hideLoading():關(guān)閉loading提示框

wx.showToast():消息提示框,根據(jù)用戶的某些操作來告知操作的結(jié)果表制,例如退出成功給用戶提示健爬;提示刪除成功等。

wx.showModal():模態(tài)對話框(消息確認(rèn)框)么介,用于詢問用戶是否執(zhí)行一些操作娜遵。例如:詢問用戶是否退出登錄,是否刪除等壤短。

c设拟、小程序 本地 存儲API:

同步API:

存儲:wx.setStorageSync(key,value) 獲瓤隆:wx.getStorageSync(key) 刪除:wx.removeStorageSync(key) 清空:wx.clearStorageSync()

異步API:

存儲:wx.setStorage({key:“”,data:value}) 獲取:wx.getStorage({key:“”}) 刪除:wx.removeStorage({key:“”}) 清空:wx.clearStorage()

注意:對象類型的數(shù)據(jù)纳胧,直接進(jìn)行存儲镰吆,不需要使用JOSN.stringify()、JOSN.parse()轉(zhuǎn)換躲雅。

d、編程式導(dǎo)航:

小程序頁面跳轉(zhuǎn)的的兩種方式:

(1)聲明式導(dǎo)航:navigator組件

(2)編程式導(dǎo)航:使用小程序提供的API

e骡和、頁面處理函數(shù):

上拉加載:

(1)在app.json或者page.json中配置舉例頁面底部距離:onreachBottomDistance

(2)在頁面.js中定義onReachBottom事件監(jiān)聽用戶上拉加載

下拉刷新:

(1)在app.json或者page.json中開啟允許下拉相赁,同事可以配置窗口、loading樣式慰于。

(2)在頁面.js中定義onPullDownRefresh事件監(jiān)聽用戶下拉刷新钮科。

f、scroll-view:實(shí)現(xiàn)上拉加載更多和下拉刷新功能婆赠。

scroll-view文檔說明

<scroll-view scroll-y

class="scroll-y"

lower-threshold="100"? //距離底部/右邊多遠(yuǎn)時(shí)绵脯,觸發(fā)scrolltolower事件

bindscrolltolower="getMore"? //上拉加載更多 滾動到底部/右邊時(shí)觸發(fā)

enable-back-to-top="true"? //iOS點(diǎn)擊頂部狀態(tài)欄、安卓雙擊標(biāo)題欄時(shí)休里,滾動條返回頂部蛆挫,只支持豎向

refresher-enabled="true" //開啟下拉刷新

refresher-default-style="black"? //設(shè)置自定義下拉刷新的默認(rèn)樣式,支持設(shè)置 black | white | none

refresher-background="#f7f7f8" //設(shè)置自定義下拉刷新區(qū)域背景顏色妙黍,默認(rèn)為透明

bindrefresherrefresh="refreshHandle"? //下拉刷新觸發(fā)事件

refresher-triggered="{{istriggred}}" //設(shè)置下拉刷新是否觸發(fā)悴侵,true表示下拉已經(jīng)被觸發(fā),false表示下拉刷新未被觸發(fā)拭嫁。(進(jìn)而可以設(shè)置請求成功后關(guān)閉下拉狀態(tài))

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末可免,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子做粤,更是在濱河造成了極大的恐慌浇借,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,372評論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怕品,死亡現(xiàn)場離奇詭異妇垢,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)肉康,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評論 3 392
  • 文/潘曉璐 我一進(jìn)店門修己,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人迎罗,你說我怎么就攤上這事睬愤。” “怎么了纹安?”我有些...
    開封第一講書人閱讀 162,415評論 0 353
  • 文/不壞的土叔 我叫張陵尤辱,是天一觀的道長砂豌。 經(jīng)常有香客問我,道長光督,這世上最難降的妖魔是什么阳距? 我笑而不...
    開封第一講書人閱讀 58,157評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮结借,結(jié)果婚禮上筐摘,老公的妹妹穿的比我還像新娘。我一直安慰自己船老,他們只是感情好咖熟,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著柳畔,像睡著了一般馍管。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上薪韩,一...
    開封第一講書人閱讀 51,125評論 1 297
  • 那天确沸,我揣著相機(jī)與錄音,去河邊找鬼俘陷。 笑死罗捎,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的拉盾。 我是一名探鬼主播宛逗,決...
    沈念sama閱讀 40,028評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼盾剩,長吁一口氣:“原來是場噩夢啊……” “哼雷激!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起屎暇,我...
    開封第一講書人閱讀 38,887評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎驻粟,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蜀撑,經(jīng)...
    沈念sama閱讀 45,310評論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評論 2 332
  • 正文 我和宋清朗相戀三年酷麦,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片沃饶。...
    茶點(diǎn)故事閱讀 39,690評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡轻黑,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出琴昆,到底是詐尸還是另有隱情,我是刑警寧澤业舍,帶...
    沈念sama閱讀 35,411評論 5 343
  • 正文 年R本政府宣布抖拦,位于F島的核電站,受9級特大地震影響舷暮,放射性物質(zhì)發(fā)生泄漏态罪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評論 3 325
  • 文/蒙蒙 一脚牍、第九天 我趴在偏房一處隱蔽的房頂上張望向臀。 院中可真熱鬧巢墅,春花似錦诸狭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蓄髓,卻和暖如春叉庐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背会喝。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評論 1 268
  • 我被黑心中介騙來泰國打工陡叠, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人肢执。 一個(gè)月前我還...
    沈念sama閱讀 47,693評論 2 368
  • 正文 我出身青樓枉阵,卻偏偏與公主長得像,于是被迫代替她去往敵國和親预茄。 傳聞我的和親對象是個(gè)殘疾皇子兴溜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評論 2 353

推薦閱讀更多精彩內(nèi)容

  • A類問題(技術(shù)) 1. 請談?wù)勎⑿判〕绦蜃饔茫?project.config.json 項(xiàng)目配置文件,用得最多的就...
    七月鎏金閱讀 1,599評論 0 3
  • 1 請談?wù)勎⑿判〕绦蛑饕夸浐臀募淖饔贸苌拢縫roject.config.json 項(xiàng)目配置文件拙徽,用得最多的就是配置...
    DreamofLimb閱讀 520評論 0 3
  • 1. 小程序有幾個(gè)文件? WXML: 微信自己定義的一套組件 WXSS : 用于描述 WXML 的組件樣式...
    冰點(diǎn)k閱讀 914評論 0 1
  • 小程序面試 小程序相關(guān)文件 wxml 模版文件诗宣,是框架設(shè)計(jì)的一套標(biāo)簽語言膘怕,結(jié)合基礎(chǔ)組件,事件系統(tǒng)可以構(gòu)建出頁面結(jié)構(gòu)...
    play_0閱讀 416評論 0 1
  • 1侧蘸、簡單描述下 微信小程序的相關(guān)文件類型? 答:微信小程序項(xiàng)目結(jié)構(gòu)主要有四個(gè)文件類型,如下 一鹉梨、WXML (Wei...
    奮斗1216閱讀 24,994評論 4 91