经过两篇文章的积累,我们回到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​


写在文章的最后


既然已经读到这里了,拜托大家再用一分钟时间,将文章转发到各位的朋友圈,微信群中。本公众号的成长需要您的支持!

以上就是今天的文章,欢迎点赞并推荐给您的朋友!

阅读更多更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】

EA&UML日拱一卒-0基础学习微信小程序(13)-一个都不能少_小程序