栈数据结构实现:字符串中括号是否匹配

2019-11-07
阅读 1 分钟
2.3k
下文中用到的栈的类:栈类实现 {代码...}

cookie工具函数封装

2019-10-18
阅读 7 分钟
2.1k
CookieUtil.get() 方法根据 cookie 的名字获取相应的值。它会在 document.cookie 字符串中查找 cookie 名加上等于号的位置。如果找到了,那么使用 indexOf() 查找该位置之后的第一个分号(表示了该 cookie 的结束位置)。如果没有找到分号,则表示该 cookie 是字符串中的最后一个,则余下的字符串都是 cookie 的值。该值...

原生拖放实现

2019-10-18
阅读 7 分钟
1.1k
addHandler() 方法接受两个参数:事件类型和用于处理该事件的函数。当调用该方法时,会进行一次检查,看看 handlers 属性中是否已经存在一个针对该事件类型的数组;如果没有,则创建一个新的。然后使用 push() 将该处理程序添加到数组的末尾。如果要触发一个事件,要调用 fire() 函数。该方法接受一个单独的参数,是一个...

常用的正则表达式

2019-09-27
阅读 4 分钟
1.7k
一、校验数字的表达式 数字: {代码...} n位的数字: {代码...} 至少n位的数字: {代码...} m-n位的数字: {代码...} 零和非零开头的数字: {代码...} 非零开头的最多带两位小数的数字: {代码...} 带1-2位小数的正数或负数: {代码...} 正数、负数、和小数: {代码...} 有两位小数的正实数: {代码...} 有1~3位小数的正...

密码强度正则,密码规范验证

2019-09-27
阅读 2 分钟
8.9k
公司的一点业务需求,自己研究了一下 {代码...} 附加一些密码验证的正则表达式: 密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线): {代码...} 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-16之间): {代码...} 强密码(必须包含大小写字母和数字的组合,可以使用特殊字符,长度在...

前端学习总结(持续更新,转载)

2019-09-18
阅读 6 分钟
2.9k
1.JavaScript规定了几种语言类型:1.Undefined 2.Null 3.Boolean 4.String 5.Number 6.Symbol 7.Object2.JavaScript对象的底层数据结构是什么:array和object底层数据结构3.Symbol类型在实际开发中的应用、可手动实现一个简单的Symbol:symbol使用场景4.JavaScript中的变量在内存中的具体存储形式:js变量和内存使用5.基...

vue cli3使用官方方法配置sass全局变量报错

2019-09-16
阅读 1 分钟
15.5k
sass-loader报错:Module build failed (from ./node_modules/_sass-loader@8.0.0@sass-loader/dist/cjs.js):ValidationError: Invalid options object. Sass Loader has been initialised using an options object that does not match the API schema.

common.js和ES6模块化的区别

2019-09-09
阅读 1 分钟
1.3k
前者是同步导入,用于服务端,文件在本地,同步导入即使卡住主线程也影响不大;后者是一部导入,用于浏览器,需要下载文件,采用导入的模式,会影响渲染

vue的nextTick原理解析

2019-09-09
阅读 2 分钟
1.3k
对于microtasks(微任务)和macrotasks(宏任务),vue在2.4版本之前一直用microtasks,但是它的优先级太高,在某些情况下可能会出现逼时间冒泡更快执行的情况;如果全部使用macrotasks,对于大数据DOM会出现渲染性能问题。所以在新版本中(vue版本超过2.4)默认使用microtasks,在特殊情况下会使用macrotask,比如在使用v-on绑...

如何做到10万条数据渲染不卡顿

2019-09-09
阅读 2 分钟
2k
requestAnimationFrame方法 {代码...}

页面渲染性能控制-重绘与回流

2019-06-18
阅读 2 分钟
1.7k
在DOM树的基础上根据节点的集合属性(margin,padding,width,height等)生成render树(不包括display:none,head节点,但是包括visibility:hidden的节点)

javascript身份证号码校验

2019-01-08
阅读 3 分钟
1.3k
由于项目需要,代码需要验证身份证,摸索着学习,写了一个验证函数,直接上代码: 省级地址: {代码...} 校验规则按级来划分: {代码...} {代码...} 验证: {代码...}

BFC,包含块,文档流,浮动,定位是个啥关系---CSS视觉格式化模型

2018-12-30
阅读 10 分钟
3.6k
这儿有一个知识点:1、文档流:按我的理解就是html在浏览器渲染显示的一个模式,这个模式的特点:自上而下,从左到右(排列规则)。如果不特殊指定,浏览器会默认当前的HTML渲染是按文档流模式。2、浮动:平时我们所知的脱离文档流的一种方式,把html元素的布局更改,浮动在视图层上3、绝对定位:脱离文档流的另外一种方...

Javascripit类型转换比较那点事儿,双等号(==)

2018-12-28
阅读 2 分钟
1.2k
前不久因为一个项目设计的问题,烦心了好几天,为了不留坑拥抱强类型语言特点,还是选择了'==='作为数据判断是否相等,对于'=='今天来探究一下猫腻(弱类型的JavaScript的坑真的太多了,typescript真香)

webapp页面滚动卡顿的解决办法

2018-12-26
阅读 2 分钟
1.9k
具体一点的解释:由于 touchstart 事件对象的 cancelable 属性为 true,也就是说它的默认行为可以被监听器通过 preventDefault() 方法阻止。但浏览器无法预先知道一个监听器会不会调用 preventDefault(),它能做的只有等监听器执行完后再去执行默认行为,而监听器执行是要耗时的,有些甚至耗时很明显,这样就会导致页面...

Vue3.0数据双向绑定Proxy探究

2018-12-17
阅读 2 分钟
8.6k
前言 2018年11月16日,关注vue的人都知道这个时间点发生了什么事儿吧。vue3.0更新内容 研究数据双向绑定的大佬们都在开始猜测这个新机制了,用原生Proxy替换Object.defineProperty 1. 为什么要替换Object.defineProperty 替换不是因为不好,是因为有更好的方法使用效率更高 Object.defineProperty的缺点: 在Vue中,Obje...

vue项目自定义ESLint规则

2018-12-10
阅读 7 分钟
3.9k
配置文件:使用一个js,JSON或者YAML文件来给整个目录和它的子目录指定配置信息。这些配置可以写在一个文件名为.eslintrc.*的文件或者在package.json文件里的eslintConfig项里,这两种方式ESLint都会自动寻找然后读取,或者你也可以在命令行里指定一个配置文件。

VSCODE用插件推荐(vue,小程序,webapp炒鸡好用)

2018-12-10
阅读 2 分钟
8.2k
Auto Close Tag — 自动闭合HTML标签 Auto Rename Tag — 修改HTML标签时,自动修改匹配的标签 background — 背景 beautify— javascript, JSON, CSS, Sass, HTML 代码高亮 Beautify css/sass/scss/less — 代码高亮 CSS Peek — 自动查找CSS文件 Debugger for Chrome — 调试JavaScript Easy Sass — scss/sass文件保存可自动...

javascript的数据结构--实现一个栈

2018-11-24
阅读 3 分钟
1.2k
栈:不管是在哪个语言,c/c++,java,python,还有咱们的javascript都有这个数据结构,很多从别的行业转开发的朋友都会经过这个学习过程。

浏览器执行机制探究,图解最直观

2018-11-24
阅读 3 分钟
1.6k
做了这么久前端,自己一直很想深入去了解了解这些玩意儿,奈何天天扑在项目上,基本没有闲余时间去想去做 面试的时候大家应该也会被问到一些浏览器执行机制的问题,我最近也去研究了一下,分享一点自己的心得。 由于segmentfault的限制原因,这儿大图放不上来,大家看图片的时候需要点击图片下方的"查看原图"才能看清除...

vue-cli在webpack的配置文件探究

2018-11-23
阅读 19 分钟
3.7k
我们在构建一个vue项目的时候是不是一顿操作猛如虎啊?npm install vue-cli -g vue init webpack vue-demo npm install npm run dev然后稍等一小会儿,咱们就能在浏览器看到了咱们的界面啦 实际操作项目里面咱们可能需要修改一些配置项才能满足咱们自己项目的需求 先看看vue项目初始化的文件目录结构: {代码...} 来看看...

输入URL到浏览器显示页面的过程,搜集各方面资料总结一下

2018-11-23
阅读 15 分钟
6.7k
面试中经常会被问到这个问题吧,唉,我最开始被问到的时候也就能大概说一些流程。被问得多了,自己就想去找找这个问题的全面回答,于是乎搜了很多资料和网上的文章,根据那些文章写一个总结。

Vue数据双向绑定探究

2018-11-22
阅读 6 分钟
5.1k
确实,使用过vue的框架做开发的人都会感觉到,以前写一大堆操作dom,bom的东西,现在用不着了,对开发者来说更容易去注重对操作逻辑的思考和实现,省了不少事儿呢!!!

为什么JavaScript里面0.1+0.2 === 0.3是false

2018-11-02
阅读 1 分钟
5.2k
0.1+0.2 === 0.3 //返回是false, 这是为什么呢?? 我们知道浮点数计算是不精确的,上面的返回式实际上是这样的:0.1 + 0.2 = 0.30000000000000004 0.1 + 0.2 - 0.3 = 5.551115123125783e-17 5.551115123125783e-17.toFixed(20) = '0.00000000000000005551' 在JavaScript的新规范ES6加入了一个新的东西-->Number.EPS...

用JS给html插入text的不常见方法

2018-04-27
阅读 3 分钟
3.4k
我们在前端开发的过程中一定会有向html插入数据的经历,常见的是在元素上用innerHTML或者appendChild方法,这儿给大家再推荐3个方法,欢迎指正。

用JS添加某些CSS属性导致:hover失效

2018-04-24
阅读 2 分钟
4.1k
左边的图是默认情况下,右边是鼠标放上去的时候,现在hover还是能正常显示的。(下面的图都是左边默认,右边hover)但是如果通过js插入css样式的话,鼠标放上去的hover样式就不会生效了。