自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 链表基础知识

链表结构是内存内部的一种存储方式,可以把链表结构想象成是一串节点,由若干个节点穿成一串的数据结构。每个节点都有两个区域:数据域和指针域。指针域指向下一个节点的地址。下一个节点也是包含一个数据域和一个指针域。在链表结构中,之所以能成为链表结构,是因为有一个指针域。指针域存储的是下一个节点的引用(相关的引用)指针域:c->内存中的一个地址,地址可以唯一标记一个节点的位置某些特殊的写法,指针域可能存储的是数组下标。数组下标是特殊的地址。下标是相对地址的概念。引用:js,Java,python在相关

2021-05-19 15:08:04 6825

原创 Taro规范

在 Taro 中书写 JavaScript 需要遵循taro的JavaScript 书写规范。本文主要是记录一下Taro的js书写规范中,我的书写习惯可能比较容易犯的一些错误点。完整的书写规范请参照Taro的官方文档。基本书写1、使用两个空格进行缩进不要混合使用空格与制表符作为缩进function hello (name) { console.log('hi', name) // ✓ 正确 console.log('hello', name) // ✗ 错误}2、除了缩进,

2020-06-26 22:25:11 568

原创 Vue2.x源码——优化器

在vue.js模板编译中,优化器的作用就是将解析器解析出来的AST进行进一步处理,找出AST中的静态节点并打上标记,这些静态节点没有使用任何变量,在首次渲染之后,它的状态都不会再发生变化了,每次重新渲染时都不需要为静态节点创建新的虚拟节点,在更新时也可以跳过静态节点的更新流程,不需要重复渲染,提升了性能。/** * Goal of the optimizer: walk the generat...

2020-03-08 13:20:34 310

原创 Vue2.x源码——解析器

解析器的作用就是将模板解析成AST。那么什么是AST呢?下面我们先来了解一下AST到底是什么东西:AST(Abstract Syntax Tree,抽象语法树),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。例子:<div> <p>{{value}}</p></div>将...

2020-03-06 14:35:54 303

原创 Vue2.x源码——compile函数

compile函数compile函数的主要作用是编译模板。function compile ( template: string, options?: CompilerOptions ): CompiledResult { //创建一个finalOptions const finalOptions = Object.create(base...

2020-02-11 16:52:18 558

原创 Vue2.x源码——vm.$mount函数

在不同的Vue.js构建版本中,vm.$mount的表现是不一样的。完整版和只包含运行时版本之间的差异在于是否有编译器。在完整版中,vm.$mount会先检查template或el选项提供的模板是否已经转换成了渲染函数,如果没有则将模板编译成渲染函数。而在只包含运行时的版本中,vm.$mount是没有编译模板的步骤的,它默认实例上已经有渲染函数了,如果没有它会自己设置一个。1、只包含运行时版...

2020-02-10 22:11:42 322

原创 Vue2.x源码——_init函数

执行了new Vue()之后,会通过_init方法触发一系列的初始化流程。而_init方法是通过initMixin方法挂载到Vue原型中的:export function initMixin (Vue: Class<Component>) { Vue.prototype._init = function (options?: Object) { //do something...

2020-02-04 21:13:40 1964

原创 Vue2.x源码——Vue构造函数

在Vue源码中,可以看到,Vue构造函数的实现是这样的:function Vue (options) { if (process.env.NODE_ENV !== 'production' && !(this instanceof Vue) ) { warn('Vue is a constructor and should be called with t...

2020-02-02 10:26:43 240

原创 js实现一个new

在开发过程中,我们经常会使用到new关键字,那么在我们使用new关键字的时候,new到底做了什么事呢?在MDN中有这样一段话:知道了new所做的事情,我们就可以根据这些步骤来自己实现一个new的功能啦!function _new(constructer, ...arg){ //1、创建一个空对象 let obj = {}; //2、链接到原型,这样新对象就可以访问原型上的属性和方...

2020-02-01 16:02:55 504

原创 js预解析

js在读取到一个script(或者一个函数作用域)时,会先对它进行一个预解析的过程, 把 var 声明提升到该作用域的顶端,此时,变量已经var声明但是并未赋值,是undefined,然后预解析function函数体,把function函数体提升到作用域顶端(var之后),在预解析完之后,JS 才会从上到下一行一行解析代码并执行。也就是说,先预解析var声明,然后预解析function函数体,然后...

2020-01-04 10:08:38 154

原创 js数据类型

js数据类型基本数据类型 :字符串(String)、数字(Number)、布尔(Boolean)、对空(Null)、未定义(Undefined)、Symbol(ES6新增);复杂数据类型:Object,如Object、array、function。1、Undefined类型Undefined类型只有一个值,即特殊的undefined。在使用var声明一个变量但是没有对其进行初始化时,这...

2020-01-03 21:29:47 92

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除