随笔分类 - a-我的学习路线
摘要:好家伙, 0、一个例子 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>Vue 父子组件通信示例</title> <script src="https://cdn.jsdelivr.net/npm/vu
阅读全文
摘要:好家伙, 0.什么是命令模式 在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。 但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。 在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合
阅读全文
摘要:好家伙, 0.索引 在阿里的低开项目中,使用这种形式去注册组件,我不禁好奇,这到底是个什么玩意 1.概念 在 JavaScript 中,注册模式(Registry Pattern)是一种设计模式,它用于管理对象、函数或其他类型的实例,并提供一种机制来访问它们。注册模式通常用于将对象实例注册到一个中心
阅读全文
摘要:好家伙, demo-general项目运行后主界面如下 解析阿里低开引擎中的初始化方法init 拆解项目来自阿里的lowcode engine目录下的 demo general项目 0.找到入口文件 可以看到整个项目用到的插件非常之多 于是 init: init 方法用于初始化低代码引擎,负责加载各
阅读全文
摘要:好家伙, 今天来手写我们的老伙计vue-router, 1.替换router 新开一个项目,并使用我们手写的router 2.大致结构 let Vue; // 保存vue的构造函数 class VueRouter { constructor(options) { } } VueRouter.inst
阅读全文
摘要:好家伙,狠狠地补一下代码量 本篇我们来尝试使用原生js实现vue的响应式 使用原生js,即代表没有v-bind,v-on,也没有v-model,所有语法糖我们都用原生实现 1.给输入框绑个变量 <body> <input id="input_1"></input> </body> <script>
阅读全文
摘要:好家伙,学习新工具 1.为什么我们需要包管理器? 关于npm我们已经知道了,这是我们项目的包管理器, 我们现在用的无比顺手的工具,都是在无数的竞争中杀出来的,他们淘汰了无数的产品 首先,倘若我们不使用npm,那么我们应该如何去新建一个前端项目? 纯手工,把我们项目需要的项目一个个下载到我们的项目里面
阅读全文
摘要:好家伙, 我原本以为学完模块化之后,就能非常顺利的完成我的项目分包, 然而并没有,这是非常重要的知识,而我没有学好 所以我决定重学一遍 本篇为《阮一峰 ECMAScript 6 (ES6) 标准入门教程 第三版》第23章"Module的语法"学习笔记 1.概述 历史上,JavaScript 一直没有
阅读全文
摘要:好家伙, 1.新建一个文件夹,命名为test 2.下载包 npm i panghu-planebattle 空白的文件夹中多了两个文件 package-lock.json和package.json 说明: package.json文件 package.json是一个项目描述文件, 里面记录了当前项目
阅读全文
摘要:好家伙,本篇为《JS高级程序设计》第二十六章“模块”学习笔记 JS开发会遇到代码量大和广泛使用第三方库的问题。 解决这个问题的方案通 常需要把代码拆分成很多部分,然后再通过某种方式将它们连接起来。 若代码量较大,我们使用模块化开发的模式,也能够使代码容易维护 我们需要模块 1.模块模式 把逻辑分块,
阅读全文
摘要:好家伙,本篇为《JS高级程序设计》第十章“函数”学习笔记 ECMAScript 中的函数是对象,因此有属性和方法。 1.函数属性 每个函数都有两个属性:length 和 prototype。 length属性: 保存函数定义的命名参数的个数 prototype: toString()、valueOf
阅读全文
摘要:好家伙,本篇为《JS高级程序设计》第十章“函数”学习笔记 1.函数的三种定义方式:函数表达式、函数声明及箭头函数 函数声明: function sum(a) { return a + 1; } 函数表达式: let sum= function(a){ return a + 1; } 箭头函数: le
阅读全文
摘要:好家伙,本篇为《JS高级程序设计》第六章“集合引用类型”学习笔记 1.数组的复制和填充 批量复制方法 copyWithin(),以及填充数组方法fill()。 这两个方法的函数签名类似,都需要指定既有数组实例上的一个范围,包含开始索引,不包含结束索引。 使用这个方法不会改变数组的大小。 1.1.fi
阅读全文
摘要:好家伙, 在上一篇中,我们知道了, JS的数组中每个槽位可以存储任意类型的数据 那么,我们能通过数组去模仿某些数据结构吗? 答案是肯定的 1.栈方法 ECMAScript 给数组提供几个方法,让它看起来像是另外一种数据结构。 数组对象可以像栈一样,也就是一种限制插人和删除项的数据结构。 栈是一种后进
阅读全文
摘要:好家伙, 1.数组 Array应该就是ECMAScript中最常用的类型了。ECMAScript数组跟其他编程语言的数组有很大区别。 跟其他语言中的数组一样,ECMAScript 数组也是一组有序的数据, 但跟其他语言不同的是,数组中每个槽位可以存储任意类型的数据。 这意味着可以创建一个数组,它的第
阅读全文
摘要:好家伙,本篇内容为《JS高级程序设计》第四章的学习笔记 1.内存泄露 1.1.什么是内存泄漏? 内存泄漏(Memory Leak)是指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。 内存泄漏缺陷具有隐蔽性、积累性的特征,比其
阅读全文
摘要:好家伙, 本篇内容为《JS高级程序设计》第三章学习笔记 1.数据类型 ECMAScript有6种简单数据类型(称为原始类型): Undefined, Null, Boolean, Number, String和Symbol。 Symbol (符号)是ECMAScript6新增的。还有一种复杂数据类型
阅读全文
摘要:好家伙,打工人要打工,博客会更新的没有以前频繁了 芜湖,一百篇了,这篇写一个比较难的异步(其实并不难理解,主要是为promise铺垫) 老样子,先补点基础: 1.进程 来吧,新华字典 大概这么个意思 百度百科: 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配
阅读全文
摘要:好家伙,总是要来的,去面对那些晦涩难懂的原理,它就在那里,等着我去搞定它 首先我要去补充一些最基本的概念, 1.什么是内存? 新华字典永远的神, 但这个解释显然不够 去看看百度百科: 内存: CPU 能 直接寻址 的 存储空间 2.变量的储存机制 所以,我们假设现在写了一行代码: var a = 2
阅读全文
摘要:好家伙,来补基础啦,补JS的基础 先来一些概念性的东西 1.什么是JavaScript? javaScript的简写形式就是JS,一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能 (其编写的程序可以被嵌入到HTML或XML页面中,并直接在浏览器中解释执行)。 组成部分: 核心
阅读全文

浙公网安备 33010602011771号