随笔分类 -  JavaScript技术

摘要:javascript去掉对象或数组中的'',null,undefined,[],{}。思路就是创建一个新的空对象,然后对传入的对象进行遍历,只把符合条件的属性返回,保留有效值,然后就相当于把空值去掉了。(可以根据注释来修改方法决定要去除哪些属性) function removeEmptyField( 阅读全文
posted @ 2021-09-22 15:38 Magi黄元 阅读(6241) 评论(0) 推荐(0) 编辑
摘要:1、数组转字符串需要将数组元素用某个字符连接成字符串,示例代码如下: var a, b; a = new Array(0,1,2,3,4); b = a.join("-"); //"0-1-2-3-4" 2、字符串转数组 实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下 阅读全文
posted @ 2021-09-18 01:16 Magi黄元 阅读(215) 评论(0) 推荐(0) 编辑
摘要:filter 过滤方法 var arr = ['A', '', 'B', null, undefined, 'C', ' ']; var r = arr.filter(function (s) { return s && s.trim(); // 注:IE9(不包含IE9)以下的版本没有trim() 阅读全文
posted @ 2021-09-07 10:57 Magi黄元 阅读(1211) 评论(0) 推荐(0) 编辑
摘要:Promise.all方法 简而言之:Promise.all( ).then( )适用于处理多个异步任务,且所有的异步任务都得到结果时的情况。 比如:用户点击按钮,会弹出一个弹出对话框,对话框中有两部分数据呈现,这两部分数据分别是不同的后端接口获取的数据。 弹框弹出后的初始情况下,就让这个弹出框处于 阅读全文
posted @ 2021-09-07 09:57 Magi黄元 阅读(1625) 评论(0) 推荐(0) 编辑
摘要:<select id="citySel" class="select" onchange="func()> <option value="">请选择城市</option> <option value="sh">上海</option> <option value="bj">北京</option> <o 阅读全文
posted @ 2021-09-02 11:04 Magi黄元 阅读(2734) 评论(0) 推荐(0) 编辑
摘要:百分数转化为小数 function toPoint(percent){ var str=percent.replace("%",""); str= str/100; return str; } 小数转化为百分数 function toPercent(point){ var str=Number(po 阅读全文
posted @ 2021-08-31 14:02 Magi黄元 阅读(290) 评论(0) 推荐(0) 编辑
摘要:总结 forEach()可以做到的东西,map()也同样可以。反过来也是如此。 map()会分配内存空间存储新数组并返回,forEach()不会返回数据。 forEach()允许callback更改原始数组的元素。map()返回新的数组。 使用案例 制作一个数组的平方有如下一个数组 let arr 阅读全文
posted @ 2021-08-30 14:52 Magi黄元 阅读(689) 评论(0) 推荐(0) 编辑
摘要:1. 获得一个随机的布尔值(true/false) const randomBoolean = () => Math.random() >= 0.5; console.log(randomBoolean()); 2. 检查所提供的日期是否为工作日 getDay() 方法可返回一周(0~6)的某一天的 阅读全文
posted @ 2021-08-20 16:39 Magi黄元 阅读(134) 评论(0) 推荐(0) 编辑
摘要:一句话来概括很简单,就是锁定安装时的包的版本号,并且需要上传到git,以保证其他人在npm install时大家的依赖能保证一致。 原来package.json文件只能锁定大版本,也就是版本号的第一位,并不能锁定后面的小版本,你每次npm install都是拉取的该大版本下的最新的版本,为了稳定性考 阅读全文
posted @ 2021-08-20 11:28 Magi黄元 阅读(78) 评论(0) 推荐(0) 编辑
摘要:利用来JS控制页面控件显示和隐藏有两种方法,两种方法分别利用HTML的style中的两个属性,两种方法的不同之处在于控件隐藏后是否还在页面上占空位。 方法一: document.getElementById("EleId").style.visibility="hidden"; document.g 阅读全文
posted @ 2021-08-16 15:16 Magi黄元 阅读(4593) 评论(0) 推荐(0) 编辑
摘要:ES2017 标准引入了 async 函数,使得异步操作变得更加方便,由于async函数返回的是Promise对象,可以作为await命令的参数。 async function timeout(ms) { await new Promise((resolve) => { setTimeout(res 阅读全文
posted @ 2020-10-19 18:29 Magi黄元 阅读(1687) 评论(0) 推荐(0) 编辑
摘要:Reflect翻译过来是反射的意思,与Proxy对象一样,也是 ES6 为了操作对象而提供的新 API。有一下几个作用 将Object对象的一些明显属于语言内部的方法(比如Object.defineProperty),放到Reflect对象上。现阶段,某些方法同时在Object和Reflect对象上 阅读全文
posted @ 2020-10-18 13:54 Magi黄元 阅读(108) 评论(0) 推荐(0) 编辑
摘要:概述 Proxy 可以理解成,在目标对象之前架设一层“拦截”,外界对该对象的访问,都必须先通过这层拦截,因此提供了一种机制,可以对外界的访问进行过滤和改写。Proxy 这个词的原意是代理,用在这里表示由它来“代理”某些操作,可以译为“代理器”。 而Object.defineProperty是使用的数 阅读全文
posted @ 2020-10-15 10:00 Magi黄元 阅读(117) 评论(0) 推荐(0) 编辑
摘要:ES6 提供了新的数据结构 Set, Map Set成员的值都是唯一的,没有重复的值,Set内的元素是强类型,会进行类型检查。 let set = new Set([1, true, '1', 'true', 1]) // Set(4) {1, true, "1", "true"} Set处理并集( 阅读全文
posted @ 2020-10-15 09:39 Magi黄元 阅读(120) 评论(0) 推荐(0) 编辑
摘要:1.谈一下你对MVVM原理的理解 传统的 MVC 指的是,用户操作会请求服务端路由,路由会调用对应的控制器来处理,控制器会获取数 据。将结果返回给前端,页面重新渲染。 MVVM :传统的前端会将数据手动渲染到页面上, MVVM 模式不需要用户收到操作 dom 元素,将数据绑 定到 viewModel 阅读全文
posted @ 2020-09-17 17:30 Magi黄元 阅读(233) 评论(0) 推荐(0) 编辑
摘要:大家好,由于最近从事的是微信公众号和APP内嵌 H5开发,避免不了开发一些和native相同的操作功能,就如接下来说的 仿IOS滚轮选择器。github源码链接 https://github.com/zhangKunUserGit/vue-component大家可以下载运行 先来个截图: 先来屡一下 阅读全文
posted @ 2020-09-16 16:30 Magi黄元 阅读(477) 评论(0) 推荐(0) 编辑
摘要:var arr2=[{id:1,name:'23'}] var arr1=[{id:1,car:'car2'}] const combined = arr2.reduce((acc, cur) => { const target = acc.find(e => e.id cur.id); conso 阅读全文
posted @ 2020-09-16 10:30 Magi黄元 阅读(2192) 评论(0) 推荐(0) 编辑
摘要:前言 Express和Koa是目前最主流的基于node的web开发框架,他们的开发者是同一班人马。貌似现在Koa更加流行,但是仍然有大量的项目在使用Express,所以我想通过这篇文章说说Express中间件的原理。 中间件的功能和分类 中间件的本质就是一个函数,在收到请求和返回相应的过程中做一些我 阅读全文
posted @ 2020-09-16 09:58 Magi黄元 阅读(554) 评论(0) 推荐(0) 编辑
摘要:前言 最近看到一道非常经典的面试题,感觉非常有趣: setTimeout(() => { console.log(1); }, 0); new Promise((resolve) => { console.log(2); resolve(); }).then(() => { console.log( 阅读全文
posted @ 2020-09-08 01:01 Magi黄元 阅读(136) 评论(0) 推荐(0) 编辑
摘要:更多描述: 假设有一个字符串 `hello. hello. hello. ` 需要替换为 `AAA`,即把 `hello. ` 替换为 `A` 如果需要全量替换字符串,可以使用 String.prototype.replace(re, replacer),其中正则表达式需要开启 global fla 阅读全文
posted @ 2020-07-28 17:02 Magi黄元 阅读(194) 评论(0) 推荐(0) 编辑