JavaScript
单眼皮丶儿
这个作者很懒,什么都没留下…
展开
-
JS前端实用方法
/** * 用于将手机号脱敏处理 * @param {string} val - 手机号 * @return {string} 处理后的手机号 * example 18238792322 => 182****2322 */export function formatSafePhone(val) { const dealedPhone = val.toString().replace(/^(\d{3})\d*(\d{4})/, "$1****$2"); return dealedP.原创 2021-09-18 10:42:46 · 86 阅读 · 0 评论 -
JavaScript引擎工作原理解析
JavaScript引擎是什么想知道JavaScript引擎是什么,首先要知道JavaScript(简称js)是什么,相信对于屏幕前的你来说,js是干什么的已经不用再多说,但还是有必要介绍下JavaScript的语言性质。首先计算机不能直接理解高级语言,只能直接理解机器语言,所以必须要把高级语言翻译成机器语言,计算机才能执行高级语言编写的程序。高级语言有两种执行方式:一个是编译,一个是解释,与之对应的就是编译型语言和解释性语言,两种方式只是翻译的时间不同。编译型语言写的程序执行之前,需要一个原创 2021-01-05 23:54:28 · 1183 阅读 · 2 评论 -
浏览器原生 ES imports尝鲜
作为Vue的忠实拥护者,怎么能不知道Vite呢?今年四月,尤大大于一条微博宣布Vite诞生:Vite,一个基于浏览器原生 ES imports 的开发服务器。利用浏览器去解析 imports,在服务器端按需编译返回,完全跳过了打包这个概念,服务器随起随用。同时不仅有 Vue 文件支持,还搞定了热更新,而且热更新的速度不会随着模块增多而变慢。针对生产环境则可以把同一份代码用 rollup 打包。虽然现在还比较粗糙,但这个方向我觉得是有潜力的,做得好可以彻底解决改一行代码等半天热更新的问题。当然原创 2020-12-30 19:06:01 · 552 阅读 · 0 评论 -
判断一个字符串中括号是否成对存在
前段时间遇到一个面试题,是这样的:有一个字符串,如'sdfsd{sss}{{sd}}',请判断字符串中的'{}'是否合法,'{}','{{}}'都视为合法,'}{','{{}'...为不合法。一开始我是硬写,没什么思路,后来偶然看到一篇文章,是关于浏览器解析dom标签的原理,从中受到了启发,才发现这个题是很简单的。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8">原创 2020-12-21 23:00:53 · 606 阅读 · 0 评论 -
js生成8位随机字符串密码
最近做了一个功能,随机生成一个8位字符串密码:要求必须包含大写字母、小写字母和数字,下面和大家分享下首先我们要了解下ASCLL码js提供两个方法:分别将ASCLL码转为字符:String.fromCharCode();将字符转为ASCLL码:'a'.charCodeAt();// 查表得知: // 数字0~9对应的ASCII码值是 48-57 // 大写字母A-Z对应的ASCII码值是 65-90 // 小写字母a-z对应的ASCII码值是 97-122.原创 2020-12-18 14:10:47 · 3623 阅读 · 0 评论 -
Promise内部执行顺序解析+基于Promise实现js线程sleep
js进入es6后,对于异步操作进行了很多友好的改善,如Promise,async,await等特性:在使用Promise时,我经常疑惑它内部的执行顺序,以及它到底包装了什么,经过多次的尝试和验证,得出了一些自己的见解,在此和大家分享一下。大家首先要知道:1、JS是单线程语言,包括同步任务、异步任务、异步任务又包括宏观任务和微观任务2、执行顺序:同步任务——>微观任务——>宏观任务3、Promise对象用于表示一个异步操作的最终完成 (或失败), 及其结果值大家先来看这个.原创 2020-09-13 14:04:00 · 523 阅读 · 0 评论 -
前端优化之节流防抖
【代码】前端优化之节流防抖。原创 2018-11-23 16:14:32 · 2085 阅读 · 1 评论 -
浏览器视口大小、HTML元素偏移量的获取
获取浏览器(<html>/<body>)视口大小这个函数首先检查document.compatMode属性,确定浏览器是否运行在混杂模式。大多数浏览器都运行在标准模式下,所以会自动执行else代码。 function getViewport() { if (document.compatMode == "BackCompat"...原创 2018-08-24 15:08:59 · 582 阅读 · 0 评论