javascript
文章平均质量分 71
DIVI_ZHANG
这个作者很懒,什么都没留下…
展开
-
Gzip压缩机制
Gzip压缩机制 一、什么是gzip? Gzip是一种内容压缩格式,一般对纯文本内容可压缩到原大小的40-70左右%。在实际的应用中我们发现压缩的比率往往在 3 到 10 倍,也就是本来 50k 大小的页面,采用压缩后实际传输的内容大小只有 5 至 15k 大小。压缩后的后缀名会以.gz结尾。 现在大部份浏览器都可以浏览经过Gzip压缩过的内容,在请求的头 (head)原创 2017-10-20 11:49:16 · 1149 阅读 · 0 评论 -
浅析Vue源码(六)—— $mount中template的编译--generate
上两文章浅析Vue源码(四)—— $mount中template的编译–parse浅析Vue源码(五)—— $mount中template的编译–optimizeparse,optimize函数的功能,这里,我们主要介绍generate。generate 函数主要功能就是根据 AST 结构拼接生成 render function 的字符串。export function generate...原创 2018-10-05 16:08:22 · 339 阅读 · 0 评论 -
浅析Vue源码(五)—— $mount中template的编译--optimize
上篇文章浅析Vue源码(四)—— $mount中template的编译–parse,我们介绍了compile 的 parse部分,至此我们完成了对一个html字符串模板解析成一个AST语法树的过程。下一步就是我们需要通过optimize方法,将AST节点进行静态节点标记。为后面 patch 过程中对比新旧 VNode 树形结构做优化。被标记为 static 的节点在后面的 diff 算法中会被直接...原创 2018-10-05 16:07:26 · 240 阅读 · 0 评论 -
浅析Vue源码(四)—— $mount中template的编译--parse
$mountmount是什么?−−mount是什么?--mount是什么?−−mount是手动加载的过程,接下来让我们看看具体是怎么实现的:src/platforms/web/entry-runtime-with-compiler.js/*把原本不带编译的$mount方法保存下来,在最后会调用。*/const mount = Vue.prototype.$mount/*挂载组件,带模板...原创 2018-10-05 16:06:01 · 339 阅读 · 0 评论 -
浅析Vue源码(三)—— initMixin(下)
这片文章主要是根据上一篇文章《浅析Vue源码(三)—— initMixin(上)》去解读 initMixin后续的执行过程,上篇我们已经可以看到,接下来主要会发生这几个操作过程:initLifecycle(vm)initEvents(vm)initRender(vm)callHook(vm, 'beforeCreate')initInjections(vm)initState(vm)...原创 2018-10-04 00:22:25 · 320 阅读 · 0 评论 -
浅析Vue源码(二)—— initMixin(上)
在上一篇文章《浅析Vue源码(一)-- 造物创世》中提到在定义了一个 Vue Class的时候会引入initMixin 来初始化一些功能,这篇文章就来讲讲initMixin到底初始化了哪些原理呢?initMixin来源init.jslet uid = 0export function initMixin (Vue: Class<Component>) { Vue.prot...原创 2018-10-04 00:21:04 · 1308 阅读 · 0 评论 -
Vue解析--如何应对面试官提问
近期不断面试中,面试官都会提一些关于Vue相关的源码和“全家桶”之类的问题。那么针对这些提问,我们应该如何更好应答呢?在这里我把对Vue的理解整理出来供大家来参考。1.Vue是什么?Vue是一套构建用户界面的渐进式框架,也是一个非常典型的 MVVM 的程序结构(model-view-viewmodel)。官方用语:Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐...原创 2018-10-04 00:19:40 · 1090 阅读 · 0 评论 -
android使用JSBridge机制原理
android使用JSBridge机制原理一、什么是JSBridge? JSBridge(JavaScriptBridge)顾名思义就是用JavaScript搭建的桥梁,那连接的是哪两端呢?–一端是web,一端是native。我们搭建这座桥的目的也很简单,让native可以调用web的js代码,让web可以 “调用” 原生的代码。请注意这个我加了 引号的调用,它并不是直接调用,而是可...原创 2018-05-08 14:33:29 · 3101 阅读 · 0 评论 -
浏览器预览本地资源文件
浏览器预览本地资源文件由于浏览器安全策略的限制,javascript程序不能自由地访问本地资源,这是对用户信息安全来说,是一项不得不遵守的准则。假如网络上的javascript程序可以自如地访问用户主机的本地资源,那么浏览器用户将毫无安全可言。尽管有这个安全限制,但是在得到用户允许的情况下,浏览器还是可以访问本地资源的。获得用户允许的方法就是通过标签来让用户手动选择文件,这一过程就是用户授...原创 2018-05-11 16:06:45 · 2661 阅读 · 0 评论 -
浅谈JS中原型链和继承
浅谈JS中原型链和继承 最近有很多面试官提到JS中原型链和继承的关系,面试者答得云里雾里有点含糊。那我们来好好理一下什么是原型链,什么是原型链继承。原型链是什么?所谓的原型链是一个有限的实例对象和原型之间组成的有限链,就是用来实现共享属性和继承的。简单的一句话就是构造函数一层一层往父级找直到找到null为止的一条链。 其实,所有的函数都是 Function 的实例。在构造函数...原创 2018-01-22 13:35:48 · 221 阅读 · 0 评论 -
JS浅谈深拷贝和浅拷贝
JS浅谈深拷贝和浅拷贝在前端面试中经常会问到如何理解JS的深浅拷贝,又是如何实现的?今天我们通过几个例子来理解一下。浅拷贝简单点来说,就是假设B复制了A,当修改A时,看B是否会发生变化,如果B也跟着变了。 下面我会引用到栈堆方面的内容来加强理解。 例:let a=[0,1,2,3,4], b=a;console.log(a===b);a[0]=1;co转载 2018-01-23 11:18:51 · 1739 阅读 · 0 评论 -
react-native-splash-screen--RN 0.5以上报错集合
react-native-splash-screen的安装可以看我上一篇,或者看这个githttps://github.com/crazycodeboy/react-native-splash-screen1.安卓按步骤安装好以后,无法启动APP或者APP出现闪退。并在输出台输出: 解决如下: 创建文件 android/app/src/main/res/values/colors.xml原创 2017-12-14 21:26:24 · 3004 阅读 · 0 评论 -
react-native APP Image加载图片
react-native APP Image加载图片 *react-native APP Image加载图片共有3中方法: 1.加载外部资源的图片(网络图片) <Image style={{width:100,height:100}} source={{uri:'https://facebook.github.io/react/img/logo_og.png'}} />2. 加载本项目图片 2原创 2017-10-31 20:57:50 · 2390 阅读 · 1 评论 -
react-native-splash-screen的坑--android
react-native-splash-screen的坑–android 最近在学习react-native,但是在启动APP的时候发现会有瞬间的白屏出现,ios白屏时间会很短,安卓要相对长一些,大概1-3s时间。这是react-native的工作机制决定的。 react-native在启动时会装载js bundle到内存并渲染界面,这段时间界面是一个空View。 上面的过程我们称之为项目的初始原创 2017-10-31 10:39:01 · 1757 阅读 · 0 评论 -
vue 中import和export如何一起使用
vue 中import和export如何一起使用前段时间碰到一个问题,vue js中要使用import来加载第三方的js,但是后面使用exports.XXX的话会报exports is not defined。那要怎么解决呢? 首先,我们要了解ES6中是import和exports之间有什么区别? import: 是引用第三方文件。import+(常量 | 函数 | 文件 | 模块)名 exp原创 2017-10-12 11:53:49 · 20122 阅读 · 1 评论 -
浅析Vue源码(七)——render到VNode的生成
浅析Vue源码(四)—— $mount中template的编译–parse浅析Vue源码(五)—— $mount中template的编译–optimize浅析Vue源码(六)—— $mount中template的编译–generate前面我们用三片文章介绍了compile解析template,完成了 template --> AST --> render function 的过程...原创 2018-10-06 15:36:35 · 1796 阅读 · 0 评论