1. 程式人生 > >EA&UML日拱一卒-0基礎學習微信小程式(13)-一個都不能少

EA&UML日拱一卒-0基礎學習微信小程式(13)-一個都不能少

經過兩篇文章的積累,我們回到Hello world中來。

util.js

這段程式碼包含3個段落,按照參照關係逐一說明。

格式化數字函式

function formatNumber(n) {
  n = n.toString()
  return n[1] ? n : '0' + n
}

這個函式用於將日期和時間數字轉換成字串,如果字串為一個字元,則前面加0。

格式化日期/時間函式

function formatTime(date) {
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()

  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds()

  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}

這個函式將包含時刻資訊的日期資料轉換為字串。它的主要功能是在return語句中實現的。

這個語句首先呼叫map方法,利用formatNumber函式將將年月日數字陣列轉換成年月日字串陣列,然後呼叫join方法將字串陣列中的元素用‘/’連線起來。

接下來呼叫map方法,利用formatNumber函式將將小時分秒數字陣列轉換成字串陣列,然後呼叫join方法將字串陣列中的元素用‘:’連線起來。

最後將日期字串和時刻字串用“ ”連線起來返回。

對外暴露介面

module.exports = {
  formatTime: formatTime
}

util.js是一個單獨的 js 檔案模組。而模組可以通過module.exports()對外暴露介面。本例中將formatTime函式以formatTime的名稱暴露給其他模組。

logs.js

//logs.js
var util = require('../../utils/util.js')
Page({
  data: {
    logs: []
  },
  onLoad: function () {
    this.setData({
      logs: (wx.getStorageSync('logs') || []).map(function (log) {
        return util.formatTime(new Date(log))
      })
    })
  }
})

為了使用util.js中暴露的format函式,首先使用require(path)將公共程式碼引入本檔案中。

在本頁面的生命週期函式onLoad中,首先從小程式臨時儲存中取出logs陣列,然後對它的每個元素呼叫util.js中的formatTime函式,將日期資料逐個轉換。最後將結果生成字串陣列並設定到頁面data中的logs陣列中以供顯示。

log資料在小程式啟動時形成,在log頁面表示是被顯示。

參考資料

函式的暴露和引用:

https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/module.html

寫在文章的最後

既然已經讀到這裡了,拜託大家再用一分鐘時間,將文章轉發到各位的朋友圈,微信群中。本公眾號的成長需要您的支援!以上就是今天的文章,歡迎點贊並推薦給您的朋友!閱讀更多更新文章,請掃描下面二維碼,關注微信公眾號【面向物件思考】