用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

6

主题

59

帖子

1015

积分

布道者

Rank: 6Rank: 6

积分
1015
2017-1-19 17:09:08 MephistoSun乐于助人 开发者认证 布道者 楼主 9723163
有意见和建议欢迎提在下面!

封装的常用方法,
方法名 参数 介绍
judgeNull value 判断空值,包括{}和[],空为true,否则为false
judgeString value 判断是否为字符串类型,是为true,否则为false
judgeNumber value 判断是否为数字类型,是为true,否则为false
judgeBoolean value 判断是否为布尔类型,是为true,否则为false
judgeArray value 判断是否为数组类型,是为true,否则为false
judgeObject value 判断是否为对象类型,是为true,否则为false
judgeFunction value 判断是否为方法类型,是为true,否则为false
mergeObject ob1,ob2... 合并对象,深层克隆
getApp 同微信官方getApp
getCurrentPages   同微信官方getCurrentPages
getCurrentPage 获取当前页
getCurrentPath 获取当前页路径
getPath targetPath getRelativePath的简易封装,不需要当前路径,只需要目标路径
getRelativePath currentPath,targetPath 获取两个路径之间相对路径
getTimestamp 获取时间戳
getClassName object key对应class,value对应true或false 获取class的方法,使用方法同ng,比较方便多class生成
具体见附件
app.js
[JavaScript] 纯文本查看 复制代码
import utils from './utils/index';

App({
  onLaunch() {
    this.utils = new utils()
  }
})
index.js

[JavaScript] 纯文本查看 复制代码
const colors = ['1', '2', '3', '4', '5', '6', '7', '1,2', '1,4', '1,5,6,7']
let app = getApp()
let utils = app.utils

Page({
  data: {
    string: '    ',
    number: 0,
    boolean: true,
    object: {},
    array: []
  },
  onLoad() {
    console.log(this.data.string)
    console.log('this.data.string is string : ' + utils.judgeString(this.data.string))
    console.log('this.data.string is null : ' + utils.judgeNull(this.data.string))
    console.log(this.data.number)
    console.log('this.data.number is number : ' + utils.judgeNumber(this.data.number))
    console.log(this.data.boolean)
    console.log('this.data.boolean is boolean : ' + utils.judgeBoolean(this.data.boolean))
    console.log(this.data.object)
    console.log('this.data.object is object : ' + utils.judgeObject(this.data.object))
    console.log('this.data.object is null : ' + utils.judgeNull(this.data.object))
    console.log(this.data.array)
    console.log('this.data.array is array : ' + utils.judgeArray(this.data.array))
    console.log('this.data.string is null : ' + utils.judgeNull(this.data.array))
    let aObject = {
      aa: {
        a: 1
      }
    }
    let bObject = {
      bb: {
        b: 2
      }
    }
    let cObject = utils.mergeObject(aObject, bObject)
    console.log(aObject)
    console.log(bObject)
    console.log(cObject)
    aObject.aa.a = 2
    console.log(cObject)
    let currentPath = utils.getCurrentPath()
    let targetPath = 'pages/list/list'
    let relativePath = utils.getPath(targetPath)
    console.log(currentPath)
    console.log(targetPath)
    console.log(relativePath)
    console.log(this.getColors(colors))
  },
  getColors(colors) {
    let returnColors = []
    for (var a = 0; a < colors.length; a++) {
      let color = ',' + colors[a] + ','
      let className = utils.getClassName({
        'block': true,
        'red': color.indexOf(',1,') > -1,
        'orange': color.indexOf(',2,') > -1,
        'yellow': color.indexOf(',3,') > -1,
        'green': color.indexOf(',4,') > -1,
        'lightblue': color.indexOf(',5,') > -1,
        'blue': color.indexOf(',6,') > -1,
        'purple': color.indexOf(',7,') > -1
      })
      returnColors.push(className)
    }
    return returnColors
  }
})


文件下载:
20170119(微信小程序utils).rar (3.67 KB, 下载次数: 1237)

评分

参与人数 2原创 +1 浮云 +40 收起 理由
287637915 + 20 大大的赞!非常给力!
天下雪 + 1 + 20 赞一个!

查看全部评分

欢迎大家讨论提问,我这人表达能力比较一般
看看先,主要是用在哪里呢
有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
天下雪 发表于 2017-1-19 17:41
看看先,主要是用在哪里呢

基本都是通用方法,很多都能用上,getClassName我觉得比较方便,否则很多class的变换太麻烦了,代码也不够优雅
MephistoSun 发表于 2017-1-19 17:46
基本都是通用方法,很多都能用上,getClassName我觉得比较方便,否则很多class的变换太麻烦了,代码也不 ...

原来如此,把一些常用的方法给封装了,就不用再一个一个的去弄了,不错     
有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
天下雪 发表于 2017-1-19 17:47
原来如此,把一些常用的方法给封装了,就不用再一个一个的去弄了,不错      ...

{:2_351:}{:2_351:}

这么好的东西,我觉得应该大力推广一下,我去宣传一番
有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
很棒
不错......
2017-1-20 21:08:45 soseek 攻城狮
10#
我来看看
2017-1-20 22:04:23 287637915优秀会员纪念 版主
11#
虽然没看内容,这个太方便了,大赞!
@天下雪 很给力!
287637915 发表于 2017-1-20 22:04
虽然没看内容,这个太方便了,大赞!
@天下雪 很给力!

怎么用的,估计一堆新手在懵逼      
有问题请在本站内搜索相应关键词,假如无法解决请在综合交流区内发帖咨询,发帖时请提供详细的问题描述、相关图片及代码。
2017-1-21 22:10:15 287637915优秀会员纪念 版主
13#
天下雪 发表于 2017-1-20 22:09
怎么用的,估计一堆新手在懵逼

放在小程序utils文件夹中调用即可,一次封装,任意调用,节省代码
谢谢
我来看看
发新帖
您需要登录后才可以回帖 登录 | 立即注册