当前位置: 首页 > wzjs >正文

手机如何创网站最新百度新闻

手机如何创网站,最新百度新闻,湘潭疫情最新消息今天,网站怎么怎么做关键字代码复用策略的需求萌发 随着开发的项目越来越多,在新项目的coding中,几乎都会出现的:这个功能我是写过的,而且封装了个函数or方法... 但是,是哪个项目呢,放哪了?😶 之后开始各种—…

代码复用策略的需求萌发

随着开发的项目越来越多,在新项目的coding中,几乎都会出现的:这个功能我是写过的,而且封装了个函数or方法... 但是,是哪个项目呢,放哪了?😶

之后开始各种——找~

几乎每个新项目都这么折腾下来,至少我需要给自己写一个“复用function的工具手册”,帮我节省时间、规避错误,避免重复劳动。

日期格式化

当然可以很方便的引用一个monent或dayjs,然后format解决~

但是,组件库的体量通常比较大,如果只需要一个格式化的功能,可以自定义一个函数。

but自己写日期格式化代码不仅繁琐,还容易出错;而且随着需求的格式不同,不通用的情况也出现了,类似这样的代码叠加~

哎……

因此,就base了一个通用函数,只需要将日期字符串和目标语言环境传入函数,就能得到格式化的日期,就不用反复搜索各种复杂的方法了。

function formatDate(dateStr, locale = 'en-US') {return new Date(dateStr).toLocaleDateString(locale, {year: 'numeric',month: 'short',day: 'numeric',});
}

JSON 解析

在解析 localStorage 或 API 返回数据时,经常会遇到格式错误的问题,导致程序崩溃。so需要一个安全过滤json的解析函数。

function safeJsonParse(str, fallback = {}) {try {return JSON.parse(str);} catch {return fallback;}
}const strs = safeJsonParse(localStorage.getItem('jsonString'));

防抖 

应对重复点击或输入变化等情况导致的事件被过度触发的问题。

也有一个组件库——lodash,我用的时候在不同的框架下,有时会报错;而且同样存在整体引入的体量问题。so自己写一个~

function debounce(func, delay = 300) {let timeout;return (...args) => {clearTimeout(timeout);timeout = setTimeout(() => func(...args), delay);};
}const handleChange = debounce((val) => searchUsers(val), 500);

等待用户停止操作 500 毫秒后再发起请求,有效减少了请求次数,提升了系统的稳定性和性能。

节流

用于测试和节流的延时处理函数:

function sleep(ms) {return new Promise((resolve) => setTimeout(resolve, ms));
}await sleep(1000);


判空函数

api返回的数据中莫名出现字符串化的null和undefined及空字符串等,于是一个不断追加条件的万能判空函数出现。

function isEmptyCheck(val) {try {var result = false;if (!val || val == '' || val == ' '|| val == 'null' || val=='undefined' || val.length==0 || val=={}) {result = true}if(val==0){result = false;}return result;} catch (e) {return true;}
}

复制到剪贴板

async function copyToClipboard(text) {try {await navigator.clipboard.writeText(text);return true;} catch (err) {console.error('操作失败:', err);return false;}
}

动态组合成元素类名

根据条件来组合类名,显示不同的样式。写一个函数取代在元素上用各种复杂的判断,以一种更加优雅、简洁的方式处理条件类名,让代码更具可读性和可维护性。

function classNames(...args) {return args.filter(Boolean).join(' ');
}
//引用
<el-button class={classNames('btn', isActive && 'btn-primary')} />

数组去重

function uniqueArray(arr) {return [...new Set(arr)];
}const arr = uniqueArray([...userTags, ...defaultTags]);

blob文件下载and从header提取文件名

const handleExportRouter = (payload) =>{if(payload.bodyBlob && payload.type && payload.filename) {let link = document.createElement("a");let blob = new Blob([payload.bodyBlob], { type: payload.type });link.href = URL.createObjectURL(blob);link.download = payload.filename;link.click();link.href = "#";URL.revokeObjectURL(link.href);} else {let link = document.createElement("a");const fileNameRes = payload.headers["content-disposition"].split('filename=\"');const fileName = decodeURI(fileNameRes[1].substring(0, fileNameRes[1].length - 1))const typeRes = fileName.split('.')const fileType = fileTypeArr[`.${typeRes[typeRes.length - 1]}`]let blob = new Blob([payload.data], { type: fileType });link.href = URL.createObjectURL(blob);link.download = fileName;link.click();link.href = "#";URL.revokeObjectURL(link.href);}};

身份信息提取

const  IdHandler =(UUserCard, num) =>{if(num==1){//获取出生日期let birth=UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14);return birth;}if(num==2){//获取性别if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {return "男";} else {return "女";}}if(num==3){//获取年龄let myDate = new Date();let month = myDate.getMonth() + 1;let day = myDate.getDate();let age = myDate.getFullYear() - UUserCard.substring(6, 10) - 1;if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {age++;}return age;}
};

生成唯一标识

const guid = () => {//全局唯一标识符return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(c) {let r = (Math.random() * 16) | 0,v = c === "x" ? r : (r & 0x3) | 0x8;return v.toString(16);});
};

base64 转 blob

function base64ToBlob(base64Data) {let arr = base64Data.split(","),mime = arr[0].match(/:(.*?);/)[1],bstr = atob(arr[1]),n = bstr.length,u8arr = new Uint8Array(n);while (n--) {u8arr[n] = bstr.charCodeAt(n);}return new Blob([u8arr], {type: `${mime},charset=UTF-8`});};

http://www.dtcms.com/wzjs/429913.html

相关文章:

  • 最成功设计 网站google付费推广
  • 网站建设需要多少天百度推广公司电话
  • 酒店网站制作策划徐州seo推广优化
  • 建筑设计师接单平台东营seo整站优化
  • 厦门市建设保障性住房局网站企业网站排名优化
  • 郑州做网站的外包公司有哪些潍坊网站收录
  • 做时时彩网站赚钱吗国内真正的免费建站
  • 微信服务号菜单链接网站怎么做百度图片搜索入口
  • 什么网站可以帮人做ppt赚钱有没有帮忙推广的平台
  • php企业网站整站源码推广网上国网
  • 深圳建站企业前端优化
  • 做网站推广的工作好吗小程序开发公司哪里强
  • 家用宽带怎么做网站 访问近三天重大新闻摘抄
  • 在线看视频网站怎么做整合营销策划方案模板
  • 动态网站静态化自己建网站怎样建
  • 温州网站 公司免费网站建设哪个好
  • 企业营销网站建设规划深圳专业seo
  • 成都网站推广招聘google关键词排名
  • 赶集网发布信息免费一键优化表格
  • 做正版电子书下载网站网赌怎么推广拉客户
  • 怎么创建网站快捷方式到桌面广州网站设计实力乐云seo
  • 网络推广网站公司推荐网站关键词优化方案
  • 国家疾控局上海seo公司排名
  • html课设做网站免费注册二级域名的网站
  • 南京环力建设有限公司网站指数平滑法
  • 精美wordpress模板福州百度网站排名优化
  • 美国服务器日本服务器网站网络营销渠道名词解释
  • 一个空间放多个网站营销手段有哪些方式
  • 中小企业网站建设流程网站新站整站排名
  • 逻辑图在线制作网站关键词首页排名优化价格