js javaScript
文章平均质量分 58
javscript
Y 铭
这个作者很懒,什么都没留下…
展开
-
防抖与节流
debounce的特点是当事件快速连续不断触发时,动作只会执行一次。 延迟debounce,是在周期结束时执行,前缘debounce,是在周期开始时执行。但当触发有间断,且间断大于我们设定的时间间隔时,动作就会有多次执行。debounce 的实现:版本1: 周期内有新事件触发,清除旧定时器,重置新定时器;这种方法,需要高频的创建定时器。/ 暴力版: 定时器期间,有新操作时,清空旧定时器,重设新定时器var debounce = (fn, wait) => { let timer, time原创 2021-10-25 09:55:05 · 155 阅读 · 0 评论 -
webpack 打包优化
webpack 打包优化速度优化优化图片使用 url-loader 优化, 将小图片转化成base64压缩,防止小图片太多请求次数太多。:下载 url-loader npm install -D url-loader2: 配置 在 webpack.prod.conf.js 文件夹中配置 module: { rules: [{ test: /\.(png|svg|jpg|gif)$/, use: [{原创 2021-03-14 11:17:02 · 97 阅读 · 0 评论 -
tsconfig.json常用配置
// 常用配置{ /* tsconfig.json是ts编译器的配置文件,ts可以根据它的信息来对待吗进行编译 可以再tsconfig中写注释 include : 用来指定哪些文件需要被编译 exclude : 用来指定哪些文件不需要被编译 :默认node_module extends : 用来指定继承的配置文件 files : 用来指定被编译的文件列表,只有编译少量文件才使用 compilerOptions : 编译器的选项原创 2021-04-27 10:02:03 · 190 阅读 · 0 评论 -
AST 抽象语法树
AST 是什么抽象语法树 (Abstract Syntax Tree),简称 AST,它是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。AST 有什么用AST 运用广泛,比如:编辑器的错误提示、代码格式化、代码高亮、代码自动补全;elint、pretiier 对代码错误或风格的检查;webpack 通过 babel 转译 javascript 语法;并且如果你想了解 js 编译执行的原理,那么你就得了解 AST。AST 如何生原创 2021-07-18 12:13:16 · 2428 阅读 · 0 评论 -
组件 -可移动modal
前沿写这份文档也是基于最近开发业务采集平台中使用 antd modal 组件,使用这个组件完成新增表单的弹窗,然后再做这个项目时候,觉得弹窗能够移动好像是个不错的用户体验。于是自己也就重新写了个这样的组件。为什么写这个组件1.antd modal 不能移动。2.弹出动画在长期的开发过程视觉疲脑,虽然这个效果不错。3.组件的一劳永逸是最为重要想要什么效果首先来看这样一张图很清楚一个标准的弹框这些是必不可少的弹框的标题弹窗内部子元素弹窗的一个满屏背景关闭 x 按钮关闭按钮确认/提交原创 2021-07-18 12:12:56 · 445 阅读 · 0 评论 -
call apply bind的实现
实现callFunction.prototype.call2 = function (context) { var context = context || window; context.fn = this; var args = []; for(var i = 1, len = arguments.length; i < len; i++) { args.push('arguments[' + i + ']'); } var r原创 2021-07-18 12:11:32 · 71 阅读 · 0 评论 -
正则表达式
正则正则表达式中的特殊字符断言(Assertions)组和范围量词正则表达式中的特殊字符字符含义\依照下列规则匹配:在非特殊字符之前的反斜杠表示下一个字符是特殊字符,不能按照字面理解。例如,前面没有 “” 的 “b” 通常匹配小写字母 “b”,即字符会被作为字面理解,无论它出现在哪里。但如果前面加了 “”,它将不再匹配任何字符,而是表示一个字符边界。在特殊字符之前的反斜杠表示下一个字符不是特殊字符,应该按照字面理解。详情请参阅下文中的 “转义(Escaping)” 部分。如果你想将原创 2021-07-18 12:11:08 · 238 阅读 · 0 评论 -
正则表达式位置匹配
正则表达式位置匹配转载 2021-04-29 13:49:35 · 103 阅读 · 0 评论 -
typescript- typescrip与react
对象的类型接口 Interfaces 一般首字母大写interface Person { readonly id: number; // 只读属性 不能修改 name: string; age: number; age?: number; // 可选 [propName: string]: any; // 任意属性 // 注意,}// 顺序 一般是 只读 -> 默认 -> 可选 -> 任意let tom: Person =原创 2021-04-28 11:39:58 · 244 阅读 · 0 评论 -
http请求 --浏览器缓存
http 请求 – 浏览器缓存基本介绍在Chrome浏览器中的控制台Network中size栏通常会有三种状态:a. 资源本身的大小 (如下图:197B)b. from memory cache (如下图:idnex.js)c. from disk cache (如下图:css.js)from memory cache代表使用内存中的缓存from memory cache 代表使用内存中的缓存,即请求的资源是直接从内存中拿到的,不会请求服务器。一般已经加载过该资源且资源已经缓存原创 2021-04-28 09:55:13 · 341 阅读 · 0 评论 -
js逻辑运算符
||运算方法: 只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。 只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。总结:真前假后&&运算方法: 只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值; 只要“&&”前面是true,无论“&&”后面是true原创 2021-02-14 14:47:13 · 127 阅读 · 0 评论 -
eslint
eslintmodule.exports = { "env": { "browser": true, "commonjs": true, "es6": true }, "extends": "eslint:recommended", "globals": { "$": true, "process": true, "__dirname": true }, "parser": "babel-eslint", "parserOptio原创 2021-01-09 09:36:14 · 86 阅读 · 0 评论 -
js的事件循环 Event loop
js 事件循环 Event loop原创 2020-12-06 15:18:38 · 69 阅读 · 0 评论 -
闭包
闭包闭包的定义闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式,就是在一个函数内部创建另一个函数。js垃圾回收机制:js 中的变量和函数不再使用后,会被自动js垃圾回收机制回收。形成闭包的条件:有函数/作用域的嵌套;内部函数引用外部函数的变量/参数。用途1. 读取函数内部的变量。2. 让这些变量的值始终保持在内存中。不会在f1调用后被自动清除。3. 方便调用上下文的局部变量。利于代码封装。4. 闭包的应用比较典型是定义模块,我们将操作函数暴露给外部,而细节隐藏原创 2020-12-06 15:12:41 · 87 阅读 · 0 评论 -
前端性能优化
前端性能优化原创 2020-12-06 15:05:13 · 81 阅读 · 0 评论 -
js数组的方法
js 数组长用方法原创 2020-08-30 10:48:09 · 272 阅读 · 0 评论