最热文章

JS 实现鼠标 hover 时自动全选文本

在开发 web 页面过程中有时需要当鼠标 hover 时自动选中文本,特别是当代码块里是可以运行的命令行;下面介绍一个通过 JS 实现这个功能的方法。 具体的实现原理不用自己写,因为 javascript 已经封装了实现这个功能的方法 select(),我们只要正确调用就行。 原生 JS 实现: jQuery 实现: 鼠标移动到文本框上,实现自动选中内容,方便复制 鼠标放在字上面就可以全选是用什么 […]

Vue 项目中开启 gzip 压缩代码

spa 这种单页应用,首屏由于一次性加载所有资源,所有首屏加载速度很慢。解决这个问题非常有效的手段之一就是前后端开启 gizp(其他还有缓存、路由懒加载等等)。gizp 其实就是帮我们减少文件体积,能压缩到 30% 左右,即 100k 的文件 gizp 后大约只有 30k。 vue-cli初始化的项目中,是默认有此配置的,只需要开启即可。但是需要先安装插件: 然后在config/index.js中 […]

JavaScript 字符串转数字的方法总结

在 Javascript 中有很多方法可以将字符串转换成数字,下面是我能想到的以及在网上找到的一些方法: 但我们该使用哪种方式?在什么时候用?为什么用这种方法呢?这就要对比每一种方法的异同,以及每种方法各自存在的不足。 JsPerf.com 上的 有一个测试工具可以很方便的测试上述方法的性能。 parseInt 虽然大多数浏览器都对 ParseInt 做过优化,但是 parseInt 会引起以下几 […]

Vue 组件中写选项的顺序

为什么选项要有统一的书写顺序呢?很简单,就是要将选择和认知成本最小化。在网上看到一篇很详细的介绍,先记录下来。 副作用 (触发组件外的影响) el 全局感知 (要求组件以外的知识) name parent 组件类型 (更改组件的类型) functional 模板修改器 (改变模板的编译方式) delimiters comments 模板依赖 (模板内使用的资源) components direct […]

Vue 项目中 fastClick 的 300ms 延迟解决方案

开发移动端项目,点击事件会有 300ms 延迟的问题。这里说下我 google 到的常见解决思路,不管 vue 项目还是 jq 项目,都可以使用 fastClick 解决。 安装 fastClick: 在 main.js 中引入 fastClick 和初始化:

DOMContentLoaded 和 Load 和 Finish

在 Chrome 里按下 F12 切换到 Network 后会看到资源加载面板的三个参数:DOMContentLoaded 和 Load 和 Finish,如下图: 下面介绍一下这三者之间的区别。 DOMContentLoaded 和 Load 分别对应 页面 DOMContentLoaded 和 Load 事件触发的时间点,即: DOMContentLoaded: DOM 树构建完成。即 HTM […]

Vue 开发时从列表页进入详情页的传参

例如商品列表页面前往商品详情页面,需要传一个商品id; c页面的路径为http://localhost:8080/#/detail?id=1,可以看到传了一个参数id=1,并且就算刷新页面id也还会存在。此时在c页面可以通过id来获取对应的详情数据,获取id的方式是this.$route.query.idvue传参方式有:query、params+动态路由传参。 两者的区别: 1.query通过p […]

如何处理 JavaScript 内存泄露

作为前端开发人员,我们都知道 JavaScript 会在创建变量(对象、字符串)时自动分配内存,并在这些变量不被使用时自动释放内存,这个过程被称为垃圾回收。这个“自动”释放资源的特性有时会给我们带来一些困惑,让 JavaScript 开发者误以为可以不关心内存管理。说实话我一开始也不是很关心内存管理方面的细节,这是一个很不好的习惯,于是后面我找了一些资料,系统的总结了一下 JS 内存泄漏的知识和规 […]

Vue 开发中值得注意的小问题

因为公司的很多大客户都是学校、政府和医院,而这些机构里的很多电脑设备都还在用 IE8,甚至是 IE7,所以我们公司的网站都是要求兼容到 IE7 的,所以在平时的工作中一直没机会用 Vue、React 等新框架;但是最近调岗到了开发部,所以我就尝试着用 Vue 来做产品的 Demo,刚开始还不太习惯,但用了一段时间发现确实比较方便。在刚开始用vue的时候,也踩了一些坑,先记录一下,避免后面再踩。 1 […]