![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
各种方法你来使用
莫亓
力氵口 口由巴 .
https://github.com/censek
展开
-
vuetify 表格:表头合并单元格
我想用 vuetify 的 v-data-table 实现下面这个表格:(表头有2行,且需要单元格合并)直接上代码:<v-data-table :items="standardDesserts" hide-default-footer> <template v-slot:body="{ items }"> <thead> <tr> <template v-for="(headerItem1, idx1) in原创 2020-12-16 10:10:54 · 2113 阅读 · 0 评论 -
html 导出为 PDF:因页面内有横向滚动条而显示不全的解决方案
在 Vue 中,将 html 内容导出为 PDF为了使横向滚动条的内容全部展示,需要指定 width: document.getElementById(id).scrollWidth。<div ref="myContainer"> <!-- 我是需要导出的内容 --></div>// 生成pdfgetPDF() { this.generatePDF( this.$refs.myContainer, "我是下载的pdf的名字,随便起.原创 2020-12-16 09:11:56 · 4919 阅读 · 2 评论 -
JavaScript:通过解构赋值交换两个变量的值
通过解构赋值语法,可以轻松地交换变量。let a = "hello";let b = "world";[a, b] = [b, a];// { a: 'world', b: 'hello' }原创 2020-09-27 11:29:14 · 4935 阅读 · 7 评论 -
JavaScript:字符串部分打码显示
某些时候我们需要遮蔽字符串的一部分,比如,下面代码中通过 substr(-3) 得到字符串的一部分,即从字符串末尾开始往前 3 个字符,然后再用你喜欢的字符填充剩余的位置(比如说用 *)const password = "hackme";password.substr(-3).padStart(password.length, "*");// ***kme...原创 2020-09-27 11:27:07 · 903 阅读 · 1 评论 -
JavaScript:随机生成一个指定长度的验证码
function randomCode(len) { const allStr = 'azxcvbnmsdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP0123456789.*&^%$#@!~'; let code = ''; for (let index = 0; index < len; index++) { code += allStr.charAt(Math.floor(Math.random() * 72)); } c原创 2020-09-17 09:05:22 · 261 阅读 · 0 评论 -
Javascript:补0(填充字符串到目标长度)
当给定数字位数不足8位时,则在左边补充0以补足8位数。let num = 900;let nStr = num.toString().padStart(8,'0');console.log(nStr); //00000900padStart()用另一个字符串填充当前字符串(重复,如果需要的话),以便产生的字符串达到给定的长度。填充从当前字符串的开始(左侧)应用的。语法str.padStart(targetLength [, padString])参数targetLength当前字符原创 2020-05-29 09:32:44 · 21382 阅读 · 1 评论 -
JavaScript:将 arguments 对象转换为数组;对数组中所有的值求和;条件短路;对条件使用逻辑或;逗号运算符;用 length 调整数组大小;通过数组解构对值进行交换;动态属性名……
https://mp.weixin.qq.com/s/q36K4uPcLWdZq_wQvPflIQ1. 将 arguments 对象转换为数组arguments 对象是函数内部可访问的类似数组的对象,其中包含传递给该函数的参数的值。但它与其他数组不同,我们可以访问其元素值并获得长度,但是不能在其上使用其他的数组方法。不过,我们可以将其转换为常规数组:var argArray = Array.prototype.slice.call(arguments);2. 对数组中所有的值求和var .原创 2020-05-09 09:29:55 · 302 阅读 · 0 评论 -
JavaScript:实现一个instanceOf
???? https://juejin.im/post/5c9c3989e51d454e3a3902b6function instanceOf(left,right) { let proto = left.__proto__; let prototype = right.prototype while(true) { if(proto === null...转载 2020-04-08 17:32:46 · 164 阅读 · 0 评论 -
JavaScript:手写一个JS深拷贝
???? https://juejin.im/post/5c9c3989e51d454e3a3902b6有个最著名的乞丐版实现,在《你不知道的JavaScript(上)》里也有提及:乞丐版 var newObj = JSON.parse( JSON.stringify( someObj ) );面试够用版function deepCopy(obj){ //判断是否是简单数...转载 2020-04-08 17:31:24 · 2216 阅读 · 0 评论 -
JavaScript:手写防抖(Debouncing)和节流(Throttling)
???? https://juejin.im/post/5c9c3989e51d454e3a3902b6scroll 事件本身会触发页面的重新渲染,同时 scroll 事件的 handler 又会被高频度的触发,因此事件的 handler 内部不应该有复杂操作,例如 DOM 操作就不应该放在事件处理中。针对此类高频度触发事件问题(例如页面 scroll,屏幕 resize,监听用户输入等)...转载 2020-04-08 11:30:08 · 588 阅读 · 0 评论 -
JavaScript:手写一个Promise
????https://juejin.im/post/5c9c3989e51d454e3a3902b6https://github.com/forthealllight/blog/issues/4Promise/A+ 规范:三种状态 pending| fulfilled(resolved) | rejected当处于 pending 状态的时候,可以转移到 fulfilled(re...转载 2020-04-03 17:13:26 · 220 阅读 · 0 评论 -
JavaScript:实现一个JS函数柯里化
???? https://juejin.im/post/5c9c3989e51d454e3a3902b6什么是柯里化?在计算机科学中,柯里化(Currying) 是把接受多个参数的函数变换成接受一个单一参数(最初函数的第一个参数)的函数,并且返回接受余下的参数且返回结果的新函数的技术。函数柯里化的主要作用和特点就是参数复用、提前返回和延迟执行。???? 通用版function curry(...转载 2020-04-02 20:46:00 · 533 阅读 · 0 评论 -
JavaScript:实现一个继承
???? https://juejin.im/post/5c9c3989e51d454e3a3902b6寄生组合式继承一般只建议写这种,因为其它方式的继承会在一次实例中调用两次父类的构造函数或有其它缺点。核心实现用一个 F 空的构造函数去取代执行了 Parent 这个构造函数。function Parent(name) { this.name = name;}Paren...转载 2020-04-02 10:11:09 · 131 阅读 · 0 评论 -
JavaScript:实现一个Function.bind()
???? https://juejin.im/post/5c9c3989e51d454e3a3902b6bind() 方法:会创建一个新函数。当这个新函数被调用时,bind() 的第一个参数将作为它运行时的 this,之后的一序列参数将会在传递的实参前传入作为它的参数。此外,bind 实现需要考虑实例化后对原型链的影响。Function.prototype.bind2 = function...转载 2020-04-01 21:20:03 · 416 阅读 · 0 评论 -
JavaScript:实现一个call或apply
????https://juejin.im/post/5c9c3989e51d454e3a3902b6https://github.com/mqyqingfeng/Blog/issues/11call 语法:fun.call(thisArg, arg1, arg2, ...),调用一个函数, 其具有一个指定的 this 值和分别提供的参数(参数的列表)。apply 语法:fu...转载 2020-03-31 21:27:24 · 202 阅读 · 0 评论 -
JavaScript:实现一个JSON.parse
????https://juejin.im/post/5c9c3989e51d454e3a3902b6JSON.parse(text[, reviver])用来解析 JSON 字符串,构造由字符串描述的 JavaScript 值或对象。提供可选的 reviver 函数用以在返回之前对所得到的对象执行变换(操作)。第一种:直接调用 evalfunction jsonParse(opt) { ...转载 2020-03-26 09:21:41 · 414 阅读 · 0 评论 -
JavaScript:实现一个JSON.stringify
????https://juejin.im/post/5c9c3989e51d454e3a3902b6JSON.stringify(value[, replacer [, space]]):Boolean | Number | String 类型会自动转换成对应的原始值。undefined、任意函数以及 symbol,会被忽略(出现在非数组对象的属性值中时),或者被转换成 null(出现在数...转载 2020-03-25 17:06:57 · 300 阅读 · 0 评论 -
JavaScript:实现一个new操作符
????https://juejin.im/post/5c9c3989e51d454e3a3902b6new 操作符做了这些事:它创建了一个全新的对象。它会被执行 [[Prototype]](也就是__proto__)链接。它使 this 指向新创建的对象。通过 new 创建的每个对象将最终被 [[Prototype]] 链接到这个函数的 prototype 对象上。如果函数没有返回对...转载 2020-03-23 22:11:58 · 225 阅读 · 0 评论 -
JavaScript 判断数组中对象的某个字段的值是否重复
???? 我想判断数组中有没有重名的情况。利用两层循环进行判断let arr = [ { name:'censek', age: 18 }, { name: 'bob', age: 13 }, { name: 'john', age: 25 }, { name: 'censek', age: 6 }];for (i = 0; i < arr.length ...原创 2020-03-23 16:35:24 · 3696 阅读 · 0 评论 -
判断金额的正则表达式
验证金额条件:只能由数字和小数点组成不能为负数小数点后最多两位整数部分两位以上时首位不能为 0let regex = /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/;let priceJudgeResult = regex.test(goodsPrice); // goodsPrice为...原创 2020-03-20 10:52:20 · 3494 阅读 · 0 评论 -
JavaScript 正则表达式
JS正则表达式完整教程正则表达式字符匹配攻略正则表达式是匹配模式,要么匹配字符,要么匹配位置。1. 横向模糊匹配和纵向模糊匹配???? 横向模糊 指的是,一个正则可匹配的字符串的长度不是固定的,可以是多种情况的。其实现的方式是 使用量词。譬如 {m,n},表示连续出现最少 m 次,最多 n 次。比如 /ab{2,5}c/ 表示匹配这样一个字符串:第一个字符是“a”,接下来是2到5个字符“...转载 2020-02-21 22:34:07 · 444 阅读 · 0 评论 -
JavaScript:数组的交集、并集、差集、补集
样例var arr1 = [1,2,3,4,5];var arr2 = [2,4,6,8,10];方法一:使用 filter、concat 来计算//交集var intersection = arr1.filter(function(v){ return arr2.indexOf(v) > -1 });console.log(intersection); //[ 2, 4 ]...原创 2020-01-15 09:59:05 · 386 阅读 · 0 评论 -
`arr.sort(() => Math.random() - 0.5);` 不能真正地随机打乱数组 (关于 JavaScript 的数组随机排序)
参考: https://oldj.net/blog/2017/01/23/shuffle-an-array-in-javascript/#comment-1466转载 2020-01-14 16:46:57 · 4859 阅读 · 0 评论 -
JavaScript:使 `a===1 && a===2 && a === 3` 的值为true?
原文: Will a===1 && a===2 && a===3 (strict comparison) ever be true (in JavaScript)本文是JS经典问题 a == 1 && a==2 && a==3 (宽松相等)的扩展和解决方案。如何使用 getter/setter 描述符让 a===1 &am...转载 2019-12-10 10:46:08 · 656 阅读 · 0 评论 -
Javascript 的变量声明提升和函数声明提升
变量声明console.log(a);// undefinedvar a= "hello world";console.log(a);// "hello world"函数声明f()function f(){ console.log('hello world');// "hello world"}变量声明只提升声明 不提升赋值操作,函数声明 函数体整体被提升。????:...原创 2019-12-10 09:31:29 · 85 阅读 · 0 评论 -
JavaScript:多维数组扁平化的方法 flat
let temp = [1,2,[1,2,[3,[4,5]]]];console.log(temp.flat(Infinity)); // [1, 2, 1, 2, 3, 4, 5]语法:Array.prototype.flat(depth)depth (深度): 默认值为1,可以无限(Infinity)延展至待碾平的数组的最深度。该方法为 ES2019 (ES10) 方法。????...原创 2019-11-29 08:57:37 · 445 阅读 · 0 评论 -
格式化金额的方法: Intl.NumberFormat()
输入一串数字,然后对其进行金额格式化:用 逗号 分隔(三位一逗号)保留 2 位小数点 ,数不足补 0四舍五入要加金额符号 $var number = 123456.789;var result = new Intl.NumberFormat('en-GB', { style: 'currency', currency: 'USD' }).format(number);consol...原创 2019-11-28 10:08:00 · 3145 阅读 · 0 评论 -
JavaScript:if-else 的替代方法
if-else:if (a == 1) { console.log('a1')} else if (a == 2) { console.log('b2')} else if (a == 3) { console.log('c3')} else if (a == 4) { console.log('d4')}switch-case:switch(a){ ...转载 2019-11-20 13:05:50 · 933 阅读 · 0 评论 -
正则表达式里的一些东西
由一道题目引发的对于正则表达式的深入学习 ????【js】去除字符串中最后一个指定的字符function delLast(str, target) { let reg = new RegExp(`${target}(?=([^${target}*])$)`) console.log(str.replace(reg, '')) // number1s}delLast("numb...原创 2019-09-27 09:46:22 · 124 阅读 · 0 评论 -
判断数组为空
情景1:if (res.data.result.length == 0) {} 情景2:if (Object.keys(res.data.result[0]).length == 0) {}原创 2019-09-24 15:15:44 · 447 阅读 · 0 评论 -
js:循环遍历数组,替换数组中的字段名
arrNew = arr.map(iterator => { return { 新字段名1: iterator.旧字段名1 新字段名2: iterator.旧字段名2 }})原创 2019-09-24 13:59:24 · 5147 阅读 · 2 评论