
JS
js
Eason_qyl
......
展开
-
js中的回调函数callback
A callback function is a function passed into another function as an argument, which is then invoked inside the outer function to complete some kind of routine or action. from MDN…翻译过来:回调函数是一个函数当作参数被传递的另一函数的函数,在外部函数内部调用来完成一些动作或者线程特点:1.作为参数被传递 2. 在函数内部调用原创 2021-08-19 09:51:06 · 5428 阅读 · 0 评论 -
Parsing error: await is a reserved word
这个报错是在vscode编辑中出现一个红色波浪线,鼠标放上去提示:Parsing error: await is a reserved word, 解析错误:await是一个保留字,说明编辑器没有识别这个,当成一个关键字了await async 是必须成对出现的,因为我是在表单校验外部给函数名称加了一个async关键字,想在内部用同步函数,但是报错。// 保存async save() { this.$refs.form.validateForm((valid) => { if (v原创 2021-08-17 15:46:09 · 2045 阅读 · 0 评论 -
离散复选框与表格复选框的关联
问题:在表格外部再添加一个checkbox来关联表格内部的复选框,即:外部的checkbox和表格的checkbox动作,行为是一致的<!--外部checkbox--><div class="module-title"> <el-checkbox v-model="cart" label="购物" @change="handleChecked('cart')"></el-checkbox></div><!--表格--><原创 2021-07-16 10:45:45 · 224 阅读 · 0 评论 -
JS多表格离散选中项处理
问题:(需求)有多个购物者的购物明细需要以表格的形式来呈现出来,此时,渲染出来的是多个表格,即遍历<div class="table-area" v-for="(cartItem, cardId) in cartDetails" :key="cardId"> <el-table :data="cartItem.itemDetails" style="width: 100%" @selection-change="handleSelectionChange" :ref="`原创 2021-07-14 10:17:01 · 246 阅读 · 0 评论 -
复选框如何实现单选框效果
复选框一般可以选择多个item,选中的项放到一个数组中,每个item之间不是互斥的效果而单选框一般是在同一个组中,组中的每个项彼此之间是互斥的,即:选择A,B就不能选,选择B,A就不能选那么,怎么实现复选框和单选一样的效果呢?<el-form ref="form" :model="form" label-width="80px"> <el-form-item> <el-checkbox v-model="form.a" true-label="1" @change="原创 2021-07-13 13:41:47 · 1661 阅读 · 0 评论 -
reduce函数的一些使用
reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值reducer 函数接收4个参数:accumulator (acc) (累技器) : 累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,或 initialValuecurrent Value (cur) (当前值)current Index (idx) (当前索引)source Array (src) (源数组)reducer 函数的返回值分配给累计器,该返回值在数组的每个原创 2021-07-02 15:25:04 · 479 阅读 · 0 评论 -
JS 空值合并运算符 (??)
空值合并操作符(??)是一个逻辑操作符,当左侧的操作数为 null 或者 undefined 时,返回其右侧操作数,否则返回左侧操作数。语法:leftExpr ?? rightExpr与逻辑或操作符(||)不同,逻辑或操作符会在左侧操作数为假值时返回右侧操作数。也就是说,如果使用 || 来为某些变量设置默认值,可能会遇到意料之外的行为。比如为假值(例如,’’ 或 0)时const string = null ?? 'default value' // null 为 falseconsole.lo原创 2021-06-23 14:14:03 · 1484 阅读 · 0 评论 -
JS可选链操作符 (?.)
可选链操作符( ?. )允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。?. 操作符的功能类似于 . 链式操作符,不同之处在于,在引用为空(nullish ) (null 或者 undefined) 的情况下不会引起错误,该表达式短路返回值是 undefined。与函数调用一起使用时,如果给定的函数不存在,则返回 undefined。当尝试访问可能不存在的对象属性时,可选链操作符将会使表达式更短、更简明。在探索一个对象的内容时,如果不能确定哪些属性必定存在,可选链操作符也是很有原创 2021-06-23 13:52:42 · 2560 阅读 · 0 评论 -
js 遍历数组或对象如何跳过某项不处理
问题:在实际的业务处理中,可能会遇到这样的场景,遍历整个数组或时,我们需要跳过某项,或者某个key不让他参与循环?这时就用到了js中的 break 和 continuebreak 语句“跳出”循环。(跳过真个循环,不再执行后续的项)continue 语句“跳过”循环中的一个迭代。const nameList = [ {name: 'zhangsan', id: 1}, {name: 'lisi', id: 2}, {name: 'wangwu', id: 3}]for(let ite原创 2021-06-03 10:35:28 · 2391 阅读 · 0 评论 -
web性能优化的15条实用技巧
web性能优化实用技巧原创 2020-12-28 15:21:01 · 135 阅读 · 0 评论 -
js 最佳实践
1.避免声明全局变量2.始终声明局部变量3.在顶部声明(先声明,再使用)// 在顶部声明let firstName, lastName, price, discount, fullPrice;// 稍后在使用firstName = "Bill";lastName = "Gates";price = 19.90;discount = 0.10;fullPrice = price * 100 / discount;也可以用于循环变量:// 在顶部声明var i;// 稍后使用原创 2020-12-08 15:53:59 · 194 阅读 · 1 评论 -
for of与for in的区别
for…infor…in 语句以任意顺序遍历一个对象的除Symbol以外的可枚举属性(enu)for…in 不应该用于迭代一个关注索引顺序的 Array。for … in是为遍历对象属性而构建的,不建议用来遍历数组,遍历数组我们可以用Array.prototype.forEach()和for … offor…in 最常用的地方应该是用于调试,可以更方便的去检查对象属性const obj = { name: 'zhangsan', age: 20, address: 'beijing'}原创 2020-12-03 15:38:39 · 6011 阅读 · 0 评论 -
Mock.js
Mock.js 是一款模拟数据生成器,旨在帮助前端攻城师独立于后端进行开发,帮助编写单元测试。提供了以下模拟功能:1.根据数据模板生成模拟数据2.模拟 Ajax 请求,生成并返回模拟数据3.基于 HTML 模板生成模拟数据mock.js官网...原创 2020-11-25 17:17:19 · 106 阅读 · 0 评论 -
js中闭包的理解和应用
定义:能够读取其他函数内部变量的函数。或简单理解为定义在一个函数内部的函数,内部函数持有外部函数内变量的引用。// 利用闭包封装私有变量function closure () { const data = {} // data为函数内部的私有变量,不被外部函数访问 return { set: function (key, val) { // set()是一个闭包,它可以访问外层函数closure中的变量data data[key] = val }, get: function (k原创 2020-11-15 21:42:15 · 116 阅读 · 0 评论 -
js 中的宏任务和微任务执行顺序
浏览器是多线程的,JS是单线程的(浏览器只分配一个线程来执行JS)意味着js每次只能执行一个任务,那么,遇到异步任务首先会放到任务队列中(执行栈),先执行主线程中的任务,当主线程中的任务被执行完后,在回过来依次将执行任务队列中任务放入主线程去执行。js中的任务分为:同步任务和异步任务,而异步任务又可以分为微任务和宏任务宏任务:macro task微任务: micro task定时器(setTimeout,setInterval,setImmediate)Promsie(async/原创 2020-11-13 11:27:27 · 1301 阅读 · 1 评论 -
js 解析url中的参数
// 使用正则function getUrlString (name) { var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)") var r = window.location.search.substr(1).match(reg) if(r!=null)return unescape(r[2]) return null}// getHrefString('name')// 遍历解原创 2020-11-09 17:10:54 · 450 阅读 · 0 评论 -
JS,CSS 开发技巧
https://juejin.im/post/6844903838449664013https://juejin.im/post/6844903926110617613原创 2020-11-04 16:25:48 · 119 阅读 · 0 评论 -
js Math对象常用方法
js 中Math对象的常用方法// 1.基本方法: Math.round(5/2) // 把数四舍五入为最接近的整数 => 3 Math.ceil(x) // 向上取整,有小数就整数部分加1 Math.floor(5/2) // 对数进行下舍入 => 2 Math.pow(x, y) // 返回 x 的 y 次幂 Math.pow(2, 5) => 32 Math.random() // 返回 0 ~ 1 之间的随机数 Math.max(x, y) // 返回原创 2020-10-29 15:31:27 · 409 阅读 · 0 评论 -
Lodash使用简单总结
https://juejin.im/post/5bc89446e51d450e6d01501c原创 2020-03-11 16:47:09 · 331 阅读 · 0 评论 -
浅析 Javascript 对象传递
在Js中基本数据类型(也叫原始数据类型:String, Boolean, Number, null, underfined, Symbol(es6新增))都是传值,而非原始类型(也叫引用类型:Object, Array, Function)都是引用类型,传递的都是对象的引用 :Reference.Pass by ReferenceObject in JavaScript passes by...原创 2019-11-29 19:10:03 · 498 阅读 · 0 评论 -
ES6 Class
Js 在ES6 Version中引入了类的特性,关键字 class.(1)定义一个类类的继承原创 2019-10-25 17:48:55 · 190 阅读 · 0 评论 -
浅析js高阶函数和数组(High Order Functions and Arrays)
本篇,我们介绍一些js高阶函数的例子。forEach(); filter(); map(); sort(); reduce();首先我们造两个数组://标准的for()循环// forEach()// filter()// map()// reduce()// sort()map(), filter(), reduce...原创 2019-10-25 12:19:08 · 192 阅读 · 0 评论 -
浅谈 移动端 前端中 Viewport 和 Viewport units
https://github.com/dwqs/blog/issues/69原创 2019-10-23 15:34:05 · 309 阅读 · 0 评论 -
Js 删除数组中指定的元素
要删除数组中的指定的元素,当然肯定少不了遍历,肯定得匹配指定的index,然后用数组的splice()方法来实现,因为pop()从数组尾部删除元素,shift()从数组头部删除第一个元素,还有delete(),当然,splice()方法可以删除数组中任意位置的元素。splice(index, number);index:表示从第几个元素开始;number: 表示从此元素开始,向后删除...原创 2019-10-23 11:49:24 · 56793 阅读 · 2 评论 -
ES2015(ES6)(上)
转自:https://segmentfault.com/a/1190000004365693一本书:http://es6.ruanyifeng.com/#READMEECMAScript 6(以下简称ES6)是JavaScript语言的下一代标准。因为当前版本的ES6是在2015年发布的,所以又称ECMAScript 2015。...转载 2018-12-11 15:36:11 · 962 阅读 · 0 评论 -
vue中$nextTick()作用
vue更新数据是异步的1.0 中确实是通过 v-el:xxx 标记 dom 然后在组件里通过 this.$els.xxx 就可以获得这个 dom 对象了$nextTick(() =&gt; {}) 与DOM相关操作写在该函数回调中,确保DOM已渲染什么是Vue.nextTick()官方文档解...转载 2018-07-04 21:46:59 · 562 阅读 · 0 评论