
JavaScript
文章平均质量分 50
Jane_96
谁说妹子不可以写代码的
展开
-
事件节流 详解
事件防抖问题引入当浏览器的窗口变化的时候,控制台打印出"reize"的记录问题解决直接绑定下面的这段代码,鼠标随便动几下,控制台就打印了若干的信息。。明显,效率非常低下。<!DOCTYPE html><html> <head> <title>事件节流</title> <meta charset="u...原创 2019-06-28 20:04:39 · 473 阅读 · 0 评论 -
设计模式汇总
设计原则:找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起;针对接口编程,而不是针对实现编程;多用组合,少用继承;为了交互对象之间的松耦合设计而努力;类应该对扩展开放,对修改关闭;要依赖抽象,不要依赖具体类;最少知识原则,只和你的密友谈话;别调用我们,我们会调用你;一个类应该只有一个引起变化的原因。简单工厂: 不是一个真正的模式,但是和抽象工厂和工厂方法模式一样,它经常被用于封装创建对象的代码抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指.原创 2021-03-14 21:29:43 · 332 阅读 · 0 评论 -
Sequelize分页错误 result.count for findAndCountAll is incorrect with include
Sequelize中的findAndCountAll方法,这个方法会查出列表记录,同时返回符合查询列表数据的条数。// result.count for findAndCountAll is incorrect with includeconst order = await this.OrderModel.findAndCountAll({ include: [this.ctx.model.Customer, this.ctx.model.Test], limit: pageSize, of原创 2020-12-20 13:18:33 · 1566 阅读 · 1 评论 -
开发中遇到的ts报错异常记录
ERROR in E:/platform/demo/node_modules/@types/webpack-env/index.d.ts(349,15): 349:15 Interface 'NodeJS.Module' incorrectly extends interface '__WebpackModuleApi.Module'.// 忽略所有的声明文件( *.d.ts)的类型检查// tsconfig.json"skipLibCheck":true,ERROR Cannot fin原创 2020-10-12 16:32:46 · 2301 阅读 · 0 评论 -
React 向url中添加参数
用@withRouter修饰组件,把不是通过路由切换过来的组件中,将react-router 的 history、location、match 三个对象传入props对象上使用queryString去序列化需要添加的参数:queryString.stringify({ name:liff, id:1111})// return name=liff&id=1111在prop...原创 2019-01-29 10:58:02 · 8832 阅读 · 0 评论 -
js 下载文件的两种方式Blob和a.download
直接通过a标签的href和click去点击下载文档this.downloadUrl = "api/download";<a onClick={this.downloadFile} download="template" href={this.downloadUrl}></a>通过请求去获取二进制流,然后前端生成文档下载下来downloadFile(url ...原创 2019-01-29 23:16:13 · 6369 阅读 · 3 评论 -
Input 输入中文 状态控制
input 最常见的便是onChange方法,这个方法在input框内值(e.target.value)发生变化时,便会触发这个方法。在输入中文的时候,拼音的过程中,onChange还是会不停的触发,这就带来了中文输入的bug,举一个栗子:问题描述:input框中需要限制字符数量,比如限制成5个字符,再输入“成功”两个字的过程中,会出现还没有输入完成,体精警告字符太长,这样的情况。显然,...原创 2019-02-20 10:58:02 · 2279 阅读 · 0 评论 -
数字每隔三位用逗号分隔 js
splitNumberWithComma = (n) => { let reg = /\.\d+/; let num = (n || 0).toString(); let temp = reg.exec(num); // 获取小数部分,不存在小数则获取空字符串 let decimal = temp && temp[0] ? temp[0...原创 2019-04-29 15:01:27 · 1592 阅读 · 0 评论 -
事件防抖
事件防抖问题引入在输入框输入内容后间隔1000ms之后再请求callback问题解决直接绑定下面这段代码,每次输入一个字母就会触发callback,显然性能是比较差的~从配图也能看出来,每次输入都会打印输入框的内容。<!DOCTYPE html><html><head> <title>事件节流和事件防抖</ti...原创 2019-06-28 23:21:16 · 459 阅读 · 0 评论 -
react-infinite-scroller组件滚动分页加载
// 部分代码片段import InfiniteScroll from 'react-infinite-scroller';import {Scrollbars} from 'react-custom-scrollbars';//初始的state的状态this.state = { loading: true, hasMore: true, pageNum: 1, pageSize...原创 2018-12-15 15:59:17 · 12236 阅读 · 0 评论 -
axios合并异步请求
axios合并异步请求,比如页面初始化的时候需要进行三次请求,而我们需要在这三个请求都结束后进行操作。但是由于我们无法确认异步什么时候结束,所以可以使用axios请求来将三个请求合并发送(注意:发送的仍然是三个请求,并不是合并成了一个请求),最后可以等这三个请求都结束后开始想进行的操作initData1 = () => { return axios.get(baseUrl1, {...原创 2018-10-25 11:13:02 · 4195 阅读 · 0 评论 -
js 四舍五入保留两位小数
js有一个toFixed(n)方法,即四舍五入保留n位小数示例:var a = 22.3344//undefineda.toFixed(2)//"22.33"a = 22.3355//22.3355a.toFixed(2)//"22.34"原创 2018-09-18 15:02:38 · 6368 阅读 · 0 评论 -
JavaScript笔试题
1.有关变量作用域的提升(function(){ var x = y = 1;})();alert(x);alert(y);此处思考五分钟。。。。答案: undefined 1解析:var x = y = 1;等价于y = 1;var x = 1; 此时y为一个全局变量,函数外可以访问。x为一个局部变量,函数外不可以访问。知识点: 有关变量作用域的...原创 2018-03-26 18:03:32 · 747 阅读 · 0 评论 -
JavaScript学习笔记
1.变量1.变量作用域2.作为属性的变量3.作用域链(scope chain)4.名称解析顺序2.类型1.原始类型(primitive type)和对象类型(object type)2.JavaScript变量无类型3.数字4.字符串5.布尔值6.null和undefined7.类型转换8.typeof1.变量1.变量作用域...原创 2018-03-26 22:00:45 · 485 阅读 · 0 评论 -
《ECMAScript6入门》读书笔记
第一章 let和const命令let的用法和var类似,但是所声明的变量只在let命令所在的代码块内有效。{ let a = 10; var b = 1;}a //ReferenceError:a is not defined.b //1在for循环中使用let定义计数变量i时,每一次循环的i其实都是一个新的变量,但是因为JavaScript引擎内部会记住上一轮...原创 2018-04-27 20:03:16 · 221 阅读 · 0 评论 -
浏览器兼容总结
获取某个对象的样式所对应的值function getStyle(obj , attr){ if(obj.currentStyle){ //IE return obj.currentStyle[attr]; }else{ //FF&Chrome return getComputedStyle(obj)[at...原创 2018-05-01 19:50:34 · 146 阅读 · 0 评论 -
页面性能优化
1. 目的优化让页面加载更快,返回给用户的相应更加及时,提高用户的整体体验能够减少页面请求数或减少请求所占的带宽,节省资源,2. 页面优化的分类页面级别的优化 减少HTTP的请求数、脚本的无阻塞加载、内联脚本的位置优化等代码级别的优化 JavaScript中的DOM操作优化、CSS选择符优化、图片优化、HTML结构优化等3.各类优化的详解...原创 2018-05-19 11:54:16 · 331 阅读 · 0 评论 -
JavaScript遍历方法比较
for...of : (ES6)提供统一的遍历机制,所有实现了[Symbol.iterator]接口的对象都可以被遍历。for...in : 遍历对象的可枚举属性,功能类似于Object.keys()。对象的有些属性以相同的方式标记成了只读的,永久的即不可删除的或者不可列举的,这些属性使用这种循环不能枚举出来。比如length、constructor用户定义的属性都可以枚举,但是内部属性以及所...原创 2018-05-07 21:55:04 · 1594 阅读 · 0 评论 -
立即执行函数
!function(){ /* code */}();上面是一个立即执行函数,效果等同于(function(){/* code */}())另外,也可以把!换成~ - +,可以写成+function(){ /* code */}();-function(){ /* code */}();~function(){ /* code */...原创 2018-05-28 19:44:02 · 167 阅读 · 0 评论 -
js之数组常用方法
//遍历数组[1,2,3].forEach((value , index) =&amp;gt; console.log(value));//控制台打印:// 1// 2// 3//映射新数组arr = [1,2,3].map(v =&amp;gt; v * 2);//控制台打印:// [2,4,6]//所有元素是否通过了测试[1,2,3,4].every(v =&amp;gt; v &amp;gt; 3...原创 2018-05-30 19:01:31 · 244 阅读 · 0 评论 -
HTTP状态码(200,301,304,404,500等)
1. HTTP状态码定义http状态码全称Http Status Code。当用户访问一个网页时,其浏览器会向网页所在服务器发送请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含http状态码的信息头(Server Header)用以相应浏览器的请求。2. 状态码分类 分类 功能 1** 信息,服务器收到请求,需要请求者继续执行操作 ...原创 2018-03-16 20:26:48 · 903 阅读 · 0 评论