随笔分类 -  js

1 2 3 4 5 ··· 9 下一页
script 标签中的defer 和 async 属性
摘要:浏览器在解析 HTML 的时候,如果遇到一个没有任何属性的 <script> 标签 ,就会暂停解析,先发送网络请求获取该 JS 脚本的代码内容,然后让 JS 引擎执行该代码,当代码执行完毕后恢复解析。整个过程如下图所示: 可以看到,script 阻塞了浏览器对 HTML 的解析,如果获取 JS 脚本 阅读全文
posted @ 2022-12-11 16:00 ygunoil 阅读(142) 评论(0) 推荐(0) 编辑
阻止默认事件,阻止冒泡,阻止捕获
摘要:一、阻止默认事件: event.preventDefault(); let aEle = document.getElementsByTagName("a")[0]; aEle.addEventListener("click", e => { let event = e || window.even 阅读全文
posted @ 2022-07-18 15:39 ygunoil 阅读(373) 评论(0) 推荐(0) 编辑
vue升级Babel支持可选链和合并空值运算符
摘要:一、babel作用: (我偷懒了,直接用官网介绍) Babel 是一个工具链,主要用于将 ECMAScript 2015+ 版本的代码转换为向后兼容的 JavaScript 语法,以便能够运行在当前和旧版本的浏览器或其他环境中。据我所知, 无论是webpack项目还是vite项目都需要使用到babe 阅读全文
posted @ 2021-12-24 14:30 ygunoil 阅读(1923) 评论(0) 推荐(0) 编辑
babel plugin和presets是什么,怎么用?
摘要:https://www.fullstackreact.com/articles/what-are-babel-plugins-and-presets/ 当开发react或者vuejs app时,开发者可能经常需要在不同的babel configuration(.bablerc)中切换。你应该在pac 阅读全文
posted @ 2021-12-24 14:26 ygunoil 阅读(359) 评论(0) 推荐(0) 编辑
babel.config.js 和 .babelrc 对比
摘要:Babel 有两种并行的配置文件格式,可以一起使用,也可以分开使用。 项目范围的配置 babel.config.js 文件,具有不同的拓展名(json、js、html)babel.config.js 是按照 commonjs 导出对象,可以写js的逻辑。 相对文件的配置 .babelrc 文件,具有 阅读全文
posted @ 2021-12-24 14:24 ygunoil 阅读(1302) 评论(0) 推荐(0) 编辑
perfect-scrollbar 一个全浏览器适用的自定义scrollbar
摘要:在开发过程中为了保持界面样式的一致性,需要自定义scrollbar的样式,可是只有chrome可以定义样式,IE只能设置颜色,火狐是直接不可以设置,于是就找了这个库,它是github开源的,但没有中文文档,只有英文的,下面是我翻译的中文文档,英语水平不好,有错请见谅,可以评论告诉我修改。 源码以及英 阅读全文
posted @ 2021-11-29 15:52 ygunoil 阅读(1216) 评论(0) 推荐(0) 编辑
位运算
摘要:参考:https://www.w3school.com.cn/js/js_bitwise.asp https://blog.csdn.net/qq_39207948/article/details/80507613 阅读全文
posted @ 2021-11-26 11:58 ygunoil 阅读(42) 评论(0) 推荐(0) 编辑
path-to-regexp使用及源码解析
摘要:一.使用 该方法的作用是把字符串转为正则表达式。 我们在vue-router中,react-router或koa-router中,我们经常做路由匹配像这种格式的 /foo/:id 这样的,或者其他更复杂的路由匹配,都能支持,那么这些路由背后是怎么做的呢?其实它就是依赖于 path-to-regexp 阅读全文
posted @ 2021-11-24 11:44 ygunoil 阅读(3559) 评论(0) 推荐(0) 编辑
document.execCommand 的用法
摘要:selectAll 全选 无参数 open – – stop 执行浏览器停止命令,避免加载后续无用资源 saveAs – – print – – Cut 剪切选中文字 (“Cut”, “false”, null); FontName 改变选中文字字体 参数:文字字体名称 FontSize – 参数: 阅读全文
posted @ 2021-09-17 10:06 ygunoil 阅读(128) 评论(0) 推荐(0) 编辑
手写JSON.stringify
摘要:// string -> string `"${string}"` // number -> `${number}` // bigInt -> throw new Error('Do not know how to serialize a BigInt at JSON.stringify'); // 阅读全文
posted @ 2021-09-10 11:48 ygunoil 阅读(203) 评论(0) 推荐(0) 编辑
Object常用方法
摘要:Object.assign(target,source1,source2,...) 该方法主要用于对象的合并,将源对象source的所有可枚举属性合并到目标对象target上,此方法只拷贝源对象的自身属性,不拷贝继承的属性。 Object.assign方法实行的是浅拷贝,而不是深拷贝。也就是说,如果 阅读全文
posted @ 2021-09-08 10:51 ygunoil 阅读(135) 评论(0) 推荐(0) 编辑
手写lodash.set
摘要:// 处理 path, path有三种形式:'a[0].b.c'、'a.0.b.c' 和 ['a','0','b','c'],需要统一处理成数组,便于后续使用 function toArrayPath(path) { if (Array.isArray(path)) { return path; } 阅读全文
posted @ 2021-09-07 20:10 ygunoil 阅读(169) 评论(0) 推荐(0) 编辑
手写lodash.get
摘要:1.简单版 /** * @param {object} source * @param {string | string[]} path * @param {any} [defaultValue] * @return {any} */ function get(source, path, defau 阅读全文
posted @ 2021-09-06 10:17 ygunoil 阅读(114) 评论(0) 推荐(0) 编辑
手写MVVM
摘要:// 创建一个Mvvm构造函数 // 这里用es6方法将options赋一个初始值,防止没传,等同于options || {} function Mvvm(options = {}) { // vm.$options Vue上是将所有属性挂载到上面 // 所以我们也同样实现,将所有属性挂载到了$op 阅读全文
posted @ 2021-08-22 22:03 ygunoil 阅读(62) 评论(0) 推荐(0) 编辑
虚拟dom和real dom区别
摘要:Real DOM,真实DOM, 意思为文档对象模型,是一个结构化文本的抽象,在页面渲染出的每一个结点都是一个真实DOM结构, Virtual Dom,本质上是以 JavaScript 对象形式存在的对 DOM 的描述。 区别: 虚拟DOM不会进行排版与重绘操作 虚拟DOM进行频繁修改,然后一次性比较 阅读全文
posted @ 2021-08-19 21:57 ygunoil 阅读(317) 评论(0) 推荐(0) 编辑
浏览器四大进程
摘要:一、浏览器四大进程 1.Browser进程:浏览器的主进程(负责协调、主控),只有一个。 主要作用: 负责浏览器界面显示,与用户交互。如前进,后退等 负责各个页面的管理,创建和销毁其他进程 将渲染(Renderer)进程得到的内存中的Bitmap(位图),绘制到用户界面上 网络资源的管理,下载等 2 阅读全文
posted @ 2021-08-18 14:44 ygunoil 阅读(3273) 评论(0) 推荐(0) 编辑
ES6中类Class的super关键字
摘要:super 关键字,既可以当作函数使用,也可以当作对象使用。在这两种情况下,它的用法完全不同。 1、super当做函数使用 super 作为函数调用时,代表父类的构造函数。ES6 要求,子类的构造函数必须执行一次 super() 函数。注意:作为函数时,super() 只能用在子类的构造函数之中,用 阅读全文
posted @ 2021-08-17 13:32 ygunoil 阅读(569) 评论(0) 推荐(0) 编辑
js中replace的第二个参数是函数的情况应用
摘要:1.把字符串中所有单词的首字母都转换为大写: var str = 'aaa bbb ccc'; uw=str.replace(/\b\w+\b/g, function(word){ return word.substring(0,1).toUpperCase()+word.substring(1); 阅读全文
posted @ 2021-08-02 13:50 ygunoil 阅读(216) 评论(0) 推荐(0) 编辑
js让页面所有元素变成灰色
摘要:html { -webkit-filter: grayscale(1); } -webkit-filter(滤镜)有十种效果,分别是: grayscale 灰度 sepia 褐色 saturate 饱和度 hue-rotate 色相旋转 invert 反色 opacity 透明度 brightnes 阅读全文
posted @ 2021-07-22 10:22 ygunoil 阅读(640) 评论(0) 推荐(0) 编辑
获取/设置光标位置
摘要:1.获取光标位置 <html> <head> <title>光标测试</title> <style> p { display: flex; flex-direction: row; } .btn { height: 24px; margin: 0 10px; } .edit-div { displa 阅读全文
posted @ 2021-06-25 18:33 ygunoil 阅读(746) 评论(0) 推荐(0) 编辑

1 2 3 4 5 ··· 9 下一页
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示