Mickey 小站

尘世迷途小码农

vue-source-code-analysic(6)

阅读Vue源码有感(6)

在前一篇博客中,我们介绍了Vue中的异步更新机制以及相当重要的nextTick函数,这篇博客我们来了解一下core/instance这个文件夹所做的事情 core/index.js 下面是core/index.js的代码,易得,export default Vue中的Vue是从instance中引入再挂载全局方法后暴露出去的 import Vue from './instance/in...

vue-source-code-analysic(5)

阅读Vue源码有感(5)

在上一篇博客中,我们介绍了Vue中initGlobalAPI这个函数,这个函数主要给Vue挂载了一些全局方法,在这篇博客中,我们来介绍一下Vue中异步更新操作以及非常重要的nextTick函数 Watcher中的update方法 在之前的博客中,我们有介绍,在修改data中的数据时,会触发对应Dep对象的notity方法,Dep对象中有一个subs属性用来存放所有的Watcher实例,n...

Number of Matching Subsequences

子序列总数

今天是自己的生日,先对自己说一声生日快乐吧🎂,希望新的一岁天天开心,身体健康,码力增强 许久未写算法题,今天开了一道有关子序列的题目,题目给出一个长字符串S以及一个字符串数组words,求words中有多少元素是S串的子序列,题目链接 Given string S and a dictionary of words words, find the number of words[i] t...

vue-source-code-analysic(4)

阅读Vue源码有感(4)

前一篇博客介绍了Vue中的自定义事件,包括$on,$emit,$off以及$once,在这篇博客中,我们来介绍一下core/index.js中执行的initGlobalAPI函数,看看这个函数对Vue执行了什么样的操作,流程图如下所示 initGlobalAPI函数 initGlobalAPI首先调用Object.defineProperty(Vue, 'config', conf...

Ugly Num

丑陋数

记录一道ugly num的题目,该题给出一个数字n,需要程序给出第n个丑陋数,丑陋数的定义是数字拆解到最后,只能由2,3,5三个数字联乘,比如30 = 2 * 3 * 5就是丑陋数,而14 = 2 * 7由于7的存在,不是一个丑陋数,需要注意的是,1是一个特殊的丑陋数 题目地址 Write a program to find the n-th ugly number. Ugly num...

vue-source-code-analysic(3)

阅读Vue源码有感(3)

前一篇博客从源码的角度讲述了vue作为一个MVVM框架,data是如何和视图进行绑定的,这篇博客将讲述vue2中的4个事件API vue2和vue1有很多的不同,总的来说,框架变得更加严格,鲁棒性较好,其中非常重要的一个改变就是移除了$broadcast和$dispatch两个方法,优化了性能 vue2中提供了4个事件API挂在vm上,分别是$emit, $on, $off, $once...

vue-source-code-analysic(2)

阅读Vue源码有感(2)

上一篇博客大概讲述了Vue中视图和数据绑定的方法,以及更新data中数据如何映射到视图中,这篇博客从源码的角度进行分析,加深理解~ 首先看一下Vue官网的一张图片 这张图比较清晰的展现了Vue中的响应式原理,和前一篇博客中展示的一样,首先通过一次渲染触发Data的get函数进行依赖收集,每一个data中的key对应一个dep观察者,dep中存在一个sub...

vue-source-code-analysic(1)

阅读Vue源码有感(1)

最近,正在有条不紊的对Vue进行第二次学习,前不久,比较细致的学习了Vue组件相关的知识,包括Vue.extend()生成一个Vue组件的构造器,Vue.component()对Vue的组件进行全局组册…随后,对照Vue的官方文档,学习了平时不常用的一些API,对Vue的生命周期有了更加深刻的理解,最近几天,阅读了各位大大对于Vue源码的总结,在此记录一下,作为自己阅读Vue源码的基础吧~ ...

random-number

随机数问题

前几天看到我司的一道面试题,给出一个rand3函数,能够等概率返回1、2、3,要求实现一个rand7函数,能够等概率的返回1-7 初看题目,有两种思路 调用rand3的结果除以3,再乘以7,这样得到的结果是7/3,14/3以及7,显然不符合题目要求 重复调用rand3的结果7次,再除以3,这样得到的结果为7/3~7,也不符合题目要求  反过来想想,如果是提供rand7...

find-no-repeat-element

寻找不重复的元素

这是一个系列的算法题,主要就是从一堆重复的数字中,寻找没有重复出现的数字 其实这种题目,暴力用一个hashmap去存储出现的次数,然后在遍历一遍hashmap就能找到想要的答案 但是,这类题目,用位运算来说非常方便 Single Number 这是leetcode上的一道题,题目地址, 这是位运算在这类问题中最基本的用法 Given an array of integers, ev...