Bright's Blog

  • Home

  • Tags

  • Categories

  • Archives

Deractor修饰器

Posted on 2019-11-15 | Edited on 2019-12-05 | In js

Deractor是ES7的一个提案,可以用来修饰类和类的属性和方法,实际上也可以修饰任何对象属性,修饰器的作用主要有两个: 多个类之间共享方法 编译期对类和方法进行修改 语法Deractor就是一个函数,这个函数可以用来修饰类,也可以用来修饰类的属性和方法,如果用来修饰类,则这个函数只能接收一个 ...

Read more »

V8内存浅析

Posted on 2019-08-04 | Edited on 2019-12-05 | In js

简单总结一下V8的内存管理机制,虽然前端工程师的大部分工作都不需要手动管理内存,但是了解JavaScript引擎的内存管理和垃圾回收能帮助我们更好的理解我们代码的运行环境,避免出现内存泄漏等问题,提高代码质量 V8内存限制首先,我们知道浏览器中一个tab页独享一个javascript引擎实例,也就是 ...

Read more »

vue数据双向绑定简单实现

Posted on 2019-08-03 | Edited on 2019-12-05 | In js

不同于angular的脏检测机制,vue通过对象劫持来实现数据双向绑定 实现思路 监听数据变化,通过Object.defineProperty API重写数据对象get、set存取器,数据变更时触发watcher中的队列回调 注册watcher,watcher对象连接数据和UI,数据变更触发watc ...

Read more »

AST抽象语法树

Posted on 2019-06-25 | Edited on 2019-12-05 | In js

抽象语法树抽象语法树是编译原理中最上层的东西,但也可以看做是前端编译中最底层的东西,ast是指将代码文本通过一定的规则生成树结构的数据 前端编译中很多地方都用到抽象语法树,webpack的构建,babel编译,eslint校验,pretty代码美化等,利用抽象语法树我们可以在编译阶段做静态优化,当然 ...

Read more »

Taro初探

Posted on 2019-06-24 | Edited on 2019-12-05 | In 小程序

小程序开发框架自2019年1月9日微信小程序发布以来,出现了很多开发框架,目前社区流行的框架也有很多,下面是一个简单的对比 早期的wepy和mpvuewepy:微信官方提供的开发框架,仅支持微信小程序,基于微信小程序template实现组件化,vue系语法 mpvue:类vue框架,在vue上有所删 ...

Read more »

对PWA的一些思考

Posted on 2019-05-27 | Edited on 2019-12-05 | In js

最近开始接触开发小程序,突然想到了之前做过的PWA,两者在某些设计思想方面还是有一些共性的,下面做一个总结~ Why PWA为什么google会推出pwa呢?首先来看下移动时代web有什么致命的限制: 用户体验:web应用无论如何优化,如何提高首屏渲染性能,还是有一个网络加载的过程,这个过程导致用 ...

Read more »

hexo next主题添加分类和标签

Posted on 2019-05-12 | Edited on 2019-12-05 | In hexo

添加分类 新建一个分类页面 $ hexo new page categories source文件夹下有了categories/index.md,可以编辑,新增type属性categories title: categories date: 2019-05-12 11:41:32 type: ca ...

Read more »

css实现环形进度条

Posted on 2019-05-11 | Edited on 2019-12-05 | In css

遇到一个需求,需要实现一个环形进度条,下面是一种方法 环形进度条实现思路:背景画一个圆形,在圆形上左右两边各覆盖一个半圆,顺时针旋转右边的半圆直至180deg,此时右边的半圆转到了左边,左右两个半圆完全重叠,下一步恢复右边半圆到初始位置,且背景色设置为与背景圆形一致,接着顺时针旋转左边半圆180de ...

Read more »

论css如何画一个半圆

Posted on 2019-05-11 | Edited on 2019-12-05 | In css

如何使用css画一个半圆呢?介绍三种方法 border-radiusboder-radius属性也支持单边设置弧度,不同的弧度可以绘制不同的图形,今天来画一个半圆 直接上代码: border-radius的值顺序是左上、右上、右下、左下顺时针,盒子的宽高要求是1:2或者2:1,border-ra ...

Read more »

js原生sort方法的实现原理

Posted on 2019-05-11 | Edited on 2019-12-05 | In js

有没有想过javascript中数组的排序方法Array.prototype.sort()内部是使用什么排序算法实现的呢? sort()关于sort方法的使用就不多说了,很简单: sort方法可以直接调用,不传入任何参数,也可以传入一个比较函数作为参数 当不传入参数时,sort方法会调用默认的排序 ...

Read more »
1234

Bright

36 posts
7 categories
21 tags
© 2019 Bright
Powered by Hexo v3.8.0
|
Theme – NexT.Pisces v7.1.0