Es6
丶扁扁的糖是扁的
一个喜欢记录的小白写的博客,用来拯救他那不大好的记性。有的是记录,有的是随笔,反正都是用心写的点点滴滴。
展开
-
js获取 年-月-日 格式日期和 00:00:00格式时间
【代码】js获取 年-月-日 格式日期和 00:00:00格式时间。原创 2023-04-01 15:01:00 · 1091 阅读 · 0 评论 -
Vue xlsx插件导入导出excel 前端解析excel el-table导出excel
这里示例el-table导出为excel:原创 2022-12-03 14:58:32 · 1417 阅读 · 0 评论 -
js获取 当前URL中的参数
一、截取后分割二、直接替换特殊标识原创 2021-11-08 15:02:49 · 1304 阅读 · 3 评论 -
JS解构(es6解构赋值)——基础用法、默认值、别名解构、REST
基础用法let [a, b, c] = [1, 2, 3];let [a, [[b], c]] = [1, [[2], 3]];注意:数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值:let { a, b } = { a: 'aaa', b: 'bbb' };a // "aaa"b // "bbb" let { c } = { a: 'aaa', b: 'bbb' };c // undefined默认值上面原创 2022-05-16 20:41:03 · 2325 阅读 · 0 评论 -
JS 创建iframe,移除iframe中所不需要的元素
创建iframe 设置基础属性,并添加onload事件,捕获iframe的加载完成进行回调。/** * @description: 配置及引入iframe * @return void */setNewIframe() { let iframe = document.createElement('iframe') iframe.src = '' iframe.height = 500 iframe.width = '100%' iframe.id = 'doc_if..原创 2022-04-19 20:39:19 · 6592 阅读 · 0 评论 -
JS 获取当前浏览器版本,验证浏览器版本是否高于谷歌80
原来的在用的方法是直接截取谷歌浏览器版本的前两位版本号,今天突然有用户反馈说报浏览器版本过低,一看发现谷歌浏览器已经发布了100+版本,更换取版本号的逻辑在此记录。获取浏览器版本信息const appVersion = navigator.appVersion //获取浏览器版本信息获取以谷歌浏览器信息开始的字符串const index = appVersion.indexOf('Chrome/') //谷歌浏览器的版本信息位置const ChromeStr = app.原创 2022-04-07 17:20:04 · 2664 阅读 · 0 评论 -
JS算法——数组扁平化去重排序
一、问题描述已知如下数组:var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10],编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组二、代码实现不管用什么方式,都是将数组拍平,去重,排序。非ES6实现方式数组拍平let flatArr = arr.toString().split(",");数组去重const ar...原创 2022-04-01 15:58:38 · 1024 阅读 · 0 评论 -
JS算法——括号是否成对合法
一、问题描述验证字符串里的括号是否成对合法二、代码实现用reduce赋予初始值0。每次匹配到左括号则初始值加一,匹配到右括号就初始值减一,最终返回0的话就是字符串中的括号成对。const bracketStr = '(())()(()())' //需要验证的字符串const ifLegal = [...bracketStr].reduce( (a, i) => i === '(' ? a + 1 : a - 1, 0); //初始值为0,找到左括号加一右括...原创 2022-03-31 18:56:50 · 1022 阅读 · 0 评论 -
JS快捷生成一个uuid(依靠URL.createObjectURL(),URL.revokeObjectURL(),Blob())
URL.createObjectURL用法:URL.createObjectURL()方法会根据传入的参数创建一个指向该参数对象的URL. 这个URL的生命仅存在于它被创建的这个文档里. 新的对象URL指向执行的File对象或者是Blob对象.const objectURL = URL.createObjectURL(blob || file);参数:File对象或者Blob对象注意点:调用createObjectURL的时候会创建一个新的URL对象。 如果你不再需要它就要使用原创 2022-03-30 10:00:43 · 1242 阅读 · 1 评论 -
async/await 捕获错误 捕获catch
async/await出现后,它可以 用同步的方式执行异步操作,解决了Promise的嵌套问题。但是,promise有 catch 方法用于指定发生错误时的回调。promise.then((value) => { console.log(value); }.catch((error)=>{ console.log(error)});那 async/await 如何捕获 catch?直接在后面接 .catch()const getData = async (.原创 2022-02-18 10:41:01 · 5206 阅读 · 1 评论 -
JS判空——双感叹号 极简空、异常数据判断, false、null、‘‘、undefined、0、NaN的判断
直接抛出 !! 这个方法可能不怎么好理解,首先我们先来看!关于!:js中,false、null、''、undefined、0、NaN取反会得到什么呢?因为js中,false、null、''、undefined、0、NaN都会 被判 为false,所以取反之后,全部都会得到true而基础的数据类型,取反后都会得到false关于 !!:那么给刚才取反的false、null、''、undefined、0、NaN再次取反会发生什么呢?它们都输出了被判 的false..原创 2022-01-13 11:10:31 · 1359 阅读 · 0 评论 -
Vue自定义组件——隐藏的中心线,拖动改变左右元素宽度
所需传参如下:传入中心线左侧元素、右侧元素和外侧元素的className,实现拖拽改变左右元素的宽度* @Props: classNames:{ box String 外侧容器className left String 左侧容器className @right String 右侧容器className } -->这里要确保左右和外侧的元素className唯一,也可以自己改成查找i...原创 2022-01-13 10:29:58 · 876 阅读 · 0 评论 -
关于 标签模板 函数模板 标签函数 function``
es6中新增模板字符串,也带来了新的函数实现方式。将模板字符串紧跟在一个函数名后面,那么这个函数将被调用来处理这个模板字符串。“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数。标签模板的第一个参数是一个数组,里面是 由变量隔开的 没有变量替换 的部分:`Hello ${N} world ${G}`//由变量分隔开后===>//${N}的前后:'Hello ',' world '//${G}的前后:' world ',''//需要注意的是,前后没有的会补上一个空原创 2021-12-15 10:57:18 · 408 阅读 · 0 评论 -
关于 Symbol() 能不能当作 key值使用
看了很多文章,有说 Symbol() 能当作 key值使用的,也有说不行的,个人觉得不行(可以的话还有 uuid 什么事),但是不知道为什么。大佬的权威解释如下:原创 2021-11-19 10:19:00 · 2140 阅读 · 7 评论 -
空值判断运算符 ? ?
空值判断运算符 ??原创 2021-11-17 19:11:42 · 524 阅读 · 0 评论 -
链判断运算符 ?.
在这之前,如果读取对象内部的某个属性,往往需要判断一下,属性的上层对象是否存在。否则跨级的对象会报错。多层级的 && 看起来会非常臃肿,es6在引入 链判断运算符 ?. 后 极大的简化了判断方法:?.直接在链式调用的时候判断,相当于一种短路机制,左侧的对象是否为null或undefined就不再往下运算,直接返回undefined。判断上层对象是否存在a?.b?.c?.d 等同于 a && a.b && a.b.c...原创 2021-11-17 18:56:07 · 554 阅读 · 0 评论 -
关于指数运算符 **
ES6新增的指数运算符 **2 ** 6 = 64 //2的6次方要注意的是,该运算符是右结合2 ** 2 ** 3 = 256(2 ** 2) ** 3 = 64还有新的赋值运算符 **=原创 2021-11-12 13:57:11 · 794 阅读 · 0 评论 -
js 去除首尾字符串的几种方式(es6前后)
当你因为种种原因不能使用 es6 时:1、字符串转数组去掉空格后再转回字符串去除首部字符串:let a = ' 12345 jjkk 'let i = 0a = Array.from(a).map(item=>{ item !==' ' && i++ return item !== ' ' || i ? item : ''}).join('')console.log(a);去除尾部字符串:let b = ' 12345 j.原创 2021-11-04 16:32:09 · 7591 阅读 · 0 评论 -
ECMAScript 6 讲讲你不知道的
解构赋值:你的变量都这样赋值:let a = 1;let b = 2;let c = 3;其实你可以这样:let [a, b, c] = [1, 2, 3];let [a, [[b], c]] = [1, [[2], 3]];要注意的是,数组的元素是按次序排列的,变量的取值由它的位置决定;而对象的属性没有次序,变量必须与属性同名,才能取到正确的值:let { a, b } = { a: 'aaa', b: 'bbb' };a // "aaa"b // "bbb"原创 2021-08-04 20:25:25 · 269 阅读 · 0 评论