范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

JavaScript必须学会的11个工具方法

  计算距离下次生日还有多少天
  注意这里借助 moment 实现    getBirthdayFun(){        // 首先要获取到今年的生日       let birthdayTime = moment().format("YYYY-") + "12-19"       // 通过时间戳  去判断当前的时间戳是否大于今年生日的时间戳        if (moment().unix() >= moment(birthdayTime).unix()) {         // 如果大于的话,那么就在今年的生日上再添加一年,已达到获取下次生日的时间         birthdayTime = moment(birthdayTime).add(1, "y").format("YYYY-MM-DD")       }       // 这个直接通过计算 (下次生日的时间戳 - 当前日期的时间戳) / (60 * 60 * 24) 最后求出来的就是 XX 天       return parseInt(         (moment(birthdayTime).unix() - moment().unix()) / (60 * 60 * 24)       )     }回到顶部    // 这里我把 vue3 的案例拿过来     const bindTop = () => {        // 方法一 这样可以实现,但是效果不太行        window.scrollTo(0, 0)        document.documentElement.scrollTop = 0;                // 方法二 通过计时器去滚动 视觉上会丝滑一些,没有太大的卡顿效果       const timeTop = setInterval(() => {         // 去控制他的滑行距离         document.documentElement.scrollTop = scrollTopH.value -= 50         // 当滑到顶部的时候记得清除计时器(*) 重点         if (scrollTopH.value <= 0) {           clearInterval(timeTop)         }       }, 10)     }复制文本    const copyText = (text) => {         // clipboardData 在页面上将需要的东西复制到剪贴板上         const clipboardData = window.clipboardData         if (clipboardData) {           clipboardData.clearData()           clipboardData.setData("Text", text)           return true         } else if (document.execCommand) {  // 注意 document.execCommand 已弃用 但是有些浏览器依旧支持 用的时候记得看兼容情况           // 通过创建 dom 元素,去把要复制的内容拿到            const el = document.createElement("textarea")           el.value = text           el.setAttribute("readonly", "")           el.style.position = "absolute"           el.style.left = "-9999px"           document.body.appendChild(el)           el.select()           // 拷贝当前内容到剪贴板           document.execCommand("copy")           // 删除 el 节点           document.body.removeChild(el)           return true         }         return false       }       copyText("hello!") // ctrl + v = copyText  | true复制代码防抖/节流
  简单介绍防抖:指定时间内 频繁触发一个事件,以最后一次触发为准节流:指定时间内 频繁触发一个事件,只会触发一次应用场景有很多比如:
  防抖是: input搜索,用户在不断输入内容的时候,用防抖来减少请求的次数并且节约请求资源
  节流:场景普遍就是按钮点击,一秒点击 10 下会发起 10 次请求,节流以后 1 秒点再多次,都只会触发一次
  下面我们来实现    // 防抖     // fn 需要防抖的函数,delay 为定时器时间     function debounce(fn,delay){         let timer =  null  // 用于保存定时器         return function () {              // 如果timer存在 就清除定时器,重新计时             if(timer){                 clearTimeout(timeout);             }             //设置定时器,规定时间后执行真实要执行的函数             timeout = setTimeout(() => {                fn.apply(this);             }, delay);         }     }          // 节流     function throttle(fn) {       let timer = null; // 首先设定一个变量,没有执行定时器时,默认为 null       return function () {         if (timer) return; // 当定时器没有执行的时候timer永远是false,后面无需执行         timer = setTimeout(() => {           fn.apply(this, arguments);            // 最后在setTimeout执行完毕后再把标记设置为true(关键)            // 表示可以执行下一次循环了。           timer = null;         }, 1000);       };     }过滤特殊字符    function filterCharacter(str){         // 首先设置一个模式         let pattern = new RegExp("[`~!@#$^&*()=:"""。,、?|{}":;"%,[].<>/?~!@#¥……&*()&;—|{ }【】‘;]")         let resultStr = "";         for (let i = 0; i < str.length; i++) {             // 主要通过 replace ,pattern 规则 去把字符替换成空 最后拼接在 resultStr             resultStr = resultStr + str.substr(i, 1).replace(pattern, "");         }         // 当循环结束的时候返回最后结果 resultStr         return resultStr;     }          // 示例     filterCharacter("gyaskjdhy12316789#$%^&!@#1=123,./[") // 结果:gyaskjdhy123167891123常用正则判断    // 校验2-9位文字 不符合为 false  符合为 true     const validateName = (name) => {       const reg = /^[一-龥]{2,9}$/;       return reg.test(name);     };      // 校验手机号     const validatePhoneNum = (mobile) => {       const reg = /^1[3,4,5,6,7,8,9]d{9}$/;       return reg.test(mobile);     };      // 校验6到18位大小写字母数字下划线组成的密码     const validatePassword = (password) => {       const reg = /^[a-zA-Z0-9_]{6,18}$/;       return reg.test(password);     };初始化数组    // fill()方法 是 es6新增的一个方法 使用指定的元素填充数组,其实就是用默认内容初始化数组     const arrList = Array(6).fill()     console.log(arrList)  // 此处打印的是 ["","","","","",""] 将 RGB 转换为十六进制    function getColorFun(r,g,b) {        return "#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1)     }          getColorFun(178,232,55) // 这里输出的是 #b2e837检测是否是一个函数    // 检测是否是一个函数  其实写法以后直接 isFunction 就好了,避免重复写判断     const isFunction = (obj) => {         return typeof obj === "function" && typeof obj.nodeType !== "number" && typeof obj.item !== "function";     };检测是否为一个安全数组  // 检测是否为一个安全数组,若不是返回空数组  这里借助isArray 方法   const safeArray = (array) => {     return Array.isArray(array) ? array : []   }检测对象是否为一个安全对象    // 首先要去判断 当前对象是否为有效对象      const isVaildObject = (obj) => {         return typeof obj === "object" && !Array.isArray(obj) && Object.keys(obj).length     }     // 这里直接用上面的函数 如果有效就返回本身,无效就返回空对象     const safeObject = obj => isVaildObject(obj) ? obj : {}
  #头条创作挑战赛#

特雷西麦克格雷迪长枪白马飘如诗,将飘逸演绎到极致的1号传奇1997年,阿迪达斯篮球训练营中,一位来自佛罗里达州的17岁少年,在比赛中用出一记折叠大风车技惊四座。随后他被霍普金斯教练带到高中名校,在短短八个月后,他就成了第一高中生,而这个孩伯利收购切尔西以来,已花费3。414亿英镑为球队签下12名球员直播吧1月9日讯据FootballDaily统计,自收购切尔西以来,伯利已经为球队签下了12名球员,总计支出达到了3。414亿英镑,其中,最大的一笔花费是7500万镑签下韦斯利福法奥运冠军专家团助力冬训,国羽迎接开年魔鬼赛程2022年12月,羽毛球世界巡回赛总决赛,郑思维黄雅琼混双夺冠。图新华社1月10日,世界羽联巡回赛马来西亚公开赛就要打响。中国羽毛球队在海南结束冬训,直奔比赛地准备迎接2023赛季伍德本赛季场均至少18分8板ampampamp命中率50NBA常规赛,独行侠109120不敌雷霆。此役,独行侠球员伍德首发出战38分48秒,13投8中,高效砍下27分16篮板2助攻。本赛季伍德场均可以拿下18。2分8。2篮板,投篮命中率官宣!交易达成,绿军送走中锋,马刺裁两人,9号秀出身曾轰1219北京时间1月6日,刚刚过去的一夜,NBA发生了一笔小交易。根据shams和woj的联合报道,东部劲旅凯尔特人和西部弱旅马刺队达成了一笔交易。绿军送出中锋冯莱和部分现金,马刺得到冯莱11分9助4断,攻防俱佳的孙铭徽,或许提前预定了一个国家队席位对于现在的中国男篮,众人无疑是充满了期待。在NBA传奇巨星姚明的调教下,他们已经走出了低谷,逐渐找到了曾经的状态。前段时间,更是提前两轮就拿到了世界杯门票。在拿到门票之后,姚明也没元江热带水果城,避寒养生地成为更美好的自己BECOMEABETTERSELF入城区路口的芒果王子2022年12月,气温下降,各地疫情相继放开,每个家庭人员,防不胜防先后进入羊圈,阳后恢复时间几天半个月不等,不是科幻小说一种无需接触即可移动物体的新方法明尼苏达大学双城分校的一个研究小组发现了一种利用超声波操纵物体的方法,为制造业和机器人等行业的非接触式运动铺平了道路,而不需要内部电源。这些发现已经发表在同行评议的自然通讯杂志上。从一个人的穿衣可以看出他的阶级差距穿对衣服,跨入不同的阶级。你有没有想过,出门走在大街上。虽然每个人没有说话走在上班的路上,但是,一个人的穿着,却在诉说着这个人所有的一切。他从哪里来?他是来旅游么?他要去上班?他在FENDI与Tiffany联手打造纯银Baguette手袋Baguette得名于手袋造型,如法棍面包般,可夹于手臂内侧,由SilviaVenturiniFendi于1997年打造。此次通过FENDIBaguettehandinhand项目BOGNER博格纳发布2023早春系列,献上一曲春日赞歌奢华运动时尚品牌BOGNER博格纳以早春系列拉开了2023春夏时装的序幕,献上一曲春日赞歌。缤纷多彩的设计以及丰富多样的款式传递出BOGNER博格纳该季轻松优雅及现代奢华的新风格。
逆境时思变,顺境时收敛,遇大事要静,遇烂事远离文章作者道法自然我们生活在一个千变万化的世界,我们的一生,要经历数不清的人和事。从古至今,趋利避害一直是我们所关注的大学问,谁都想一辈子平平安安,无忧无虑,可是又有几个能够真正做到惠达卫浴2022年前三季度净利润9492。69万元同比下降58。10中证智能财讯惠达卫浴(603385)10月28日披露2022年第三季度报告。2022年前三季度,公司实现营业总收入26。33亿元,同比下降7。24归母净利润9492。69万元,同比台湾举行同志游行20周年活动,蔡英文称有很大的意义据台媒报道,第20届台湾同志游行今天登场,蔡英文也在脸书发帖称,别人觉得很平常的事,可是对某些人来说,有很大的意义,并称台湾同志游行,已是东亚最大的同志游行之一。台湾自2019年5他不愿透露名字,17年来默默做着这件事17年来,他资助6名学生共计10万元左右对于此事这位即将退休的保安大叔却从未对他人提起少数几位同事也是偶然间才得知至今,这位程师傅依旧不愿透露自己的名字01hr17年前为新生垫付车为什么别人的衣服总有一股香味?教你这么做,衣服持久留香现在的人都很注重形象,除了好看的妆容之外,还需要散发出淡淡的清香,很多人都喜欢衣服晒完之后的味道,清新又好闻,似乎都能想起初恋的白衬衫,太迷人了。我们人都属于嗅觉动物,气味往往会比菜板使用7天,细菌多达2亿,发霉发黑的木菜板,真的还能用吗?最具人间烟火气的地方,大概就是厨房了。一道道垂涎欲滴的美味佳肴,都是在厨房的菜板上,一一诞生。听着刀具敲击木菜板的声音,都觉得垂涎三尺。爸妈,菜板都发霉了,网上都说发霉菜板不能用!赛福天2022年前三季度净利润2044。85万元同比下降39。82中证智能财讯赛福天(603028)10月28日披露2022年第三季度报告。2022年前三季度,公司实现营业总收入5。80亿元,同比下降12。43归母净利润2044。85万元,同比下韩红藏了23年的儿子现状曝光终身不嫁的她,背后隐情让人落泪读者校园版成长全年订阅144购买韩红一首天亮了火遍全国。歌中的那句我看到爸爸妈妈就这么走远,留下我在这陌生的人世间,带着一抹淡淡的哀伤,令无数人潸然泪下。但很多人不知道的是,这首歌如何在农村申领到一块宅基地?请多留个心眼,为余生留下一条退路独在异乡为异客,每逢佳节倍思亲。这首流传于世的古诗,道尽了无数在外打拼的游子们的真实写照!任凭你展示得多么热闹多么幸福,也掩盖不了自己那颗迷茫流浪的心。人生最伤感最痛苦的事情莫过于前三季度农业农村经济稳中向好稳中有进数字里透出满满幸福感央视网消息农业农村部今天(10月29日)发布前三季度农业农村经济运行情况。今年以来,各级农业农村部门有效应对新冠肺炎疫情和严重自然灾害影响,全力稳定生产保供给,聚力巩固成果守底线,习近平在陕西延安和河南安阳考察全面推进乡村振兴为实现农业农村现代化而不懈奋斗习近平在陕西延安和河南安阳考察时强调全面推进乡村振兴为实现农业农村现代化而不懈奋斗丁薛祥陪同考察中共中央总书记国家主席中央军委主席习近平近日在陕西省延安市河南省安阳市考察时强调,全