uni-app开发日志[2022040402]:一些简单的函数整理

30 篇文章 0 订阅

陆续更新

jQuery中的切换toggle

// 点击后切换sTitle内容
<template>
	<view class="main">
		<view @click="toggle">{{loginTitle}}</view>
	</view>
</template>

<script>
	export default {
		data() {
			return {
				sType:'default',
				sTitle:'账号登录',
			}
		},
		methods: {
			toggle(){
				if(this.sType == 'sms'){
					this.sType = 'default';
					this.sTitle = '账号登录';
				}else{					
					this.sType = 'sms';
					this.sTitle = '短信登录';
				}
			},
		}
	}
</script>

JSON对象的深层合并

原生方法OBJECT.assign(t,s) ,但如果遇到{a:1,b:{c:2,d:3}}{a:11,b:{c:22,e:33}}合并,
那么合并结果是 {a:11,b:{c:22,e:33}} ,而不是预期的{a:11,b:{c:22,d:3,e:33}}

function assignObject(target={},sources={}){
	let obj = target;
	if(typeof target != 'object' || typeof sources != 'object'){
		return sources; // 如果其中一个不是对象 就返回sources
	}
	for(let key in sources){ 
		// 如果target也存在 那就再次合并
		if(target.hasOwnProperty(key)){
			obj[key] = assignObject(target[key],sources[key]);
		} else {
			// 不存在就直接添加
			obj[key] = sources[key];
		}
	}
	return obj;
}

获得数据类型

php的方便之一就是各种类型直接上函数,比如is_array(),js的话有点乱,这里整理了一个:

function getType(obj){
	//如果不是object类型的数据,直接用typeof就能判断出来
	let type = typeof obj;
	if (type !== 'object') {
		return type;
	}

	//如果是object类型数据,准确判断类型必须使用Object.prototype.toString.call(obj)的方式才能判断
	//注意返回结果开头字母大写:Array,Object,Null,Date,RegExp,Error,Function,这里统一小写
	let r = Object.prototype.toString.call(obj).replace(/^\[object (\S+)\]$/, '$1');
	return r.toLowerCase();
};

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值