- 博客(21)
- 收藏
- 关注
原创 2024-07-27 深入JavaScript高级语法十——浏览器Node的事件循环-微任务-宏任务
解析:不是普通的值,多加一次微任务;Promise.resolve(4),多加一次微任务。一共多加两次微任务。解析:thenable相当于多包了一层resolve(4)解析:直接return一个值,相当于resolve(4)(还不太明白,需要想一想)(还不太明白,需要想一想)(还不太明白,需要想一想)
2024-08-04 10:16:37
636
原创 2024-07-21 深入JavaScript高级语法九——迭代器和生成器
迭代器( iterator ),是确使用户可在容器对象( container ,例如链表或数组)上遍访的对象,使用该接口无需关心对象的内部实现细节。其行为像数据库中的光标,迭代器最早出现在1974年设计的 CLU 编程语言中;在各种编程语言的实现中,迭代器的实现方式各不相同,但是基本都有迭代器,比如 Java 、 Python 等;从迭代器的定义我们可以看出来,迭代器是帮助我们对某个数据结构进行遍历的对象。
2024-08-01 19:18:34
944
原创 2024-04-19 深入JavaScript高级语法八——Promise使用详解
如果我们返回的是一个普通值(数值/字符串/普通对象/undefined等),那么这个普通的值会作为一个新的Promise被返回(相当于这个新的Promise执行resolve后,把这个做为了resolve的参数)。注意:当通过链式调用的方法调用catch方法时,catch会优先捕获原本的promise异常,如果原本的promise没有返回异常,则会依次捕获then方法返回的新的Promise的异常。我们经常传递的:普通的值或者对象,这时promise的状态变化为。比较规范的创建微任务的方式,使用。
2024-07-21 11:43:29
685
原创 2024-06-10 webpack和打包过程
如果我们想在自己的模块中加入一些比较特别的内容:比如添加一个noscript标签,在用户的JavaScript被关闭时,给予相应的提示;比如在开发vue或者react项目时,我们需要一个可以挂载后续组件的根标签这个时候我们需要一个属于自己的index.html模板:
2024-06-29 21:19:22
818
原创 2024-05-26 包管理工具使用
快速:pnpm比其他包管理器快2倍;高效:node_modules中的文件链接自特定的内容寻址存储库;支持monorepos:pnpm内置支持单仓多包;严格:pnpm默认创建了一个非平铺的node_modules,因此代码无法访问任意包;
2024-06-13 16:57:42
590
原创 2024-05-18 前端模块化开发——ESModule模块化
注意,export后面跟的{}不是一个对象,只是一种特定的语法。说明:3.2、导出方式二——通过as起别名3.3、导出方式三——定义的时候就直接导出4、import关键字4.1、导入方式一——直接导入4.2、导入方式二——通过as起别名一般在导入的时候起别名,而不是在导出的时候4.3、导入方式三——可以给整个模块起别名5、export和import结合使用这是一种开发思想。工具类库:工具类统一导出出口(export和import结合使用):使用工具类中的方法:6、def
2024-06-02 11:09:45
770
1
原创 2024-05-18 Node.js学习二——CommonJS-Node模块原理
到底什么是模块化、模块化开发呢?事实上模块化开发最终的目的是将程序划分成一个个小的结构;这个结构中编写属于自己的逻辑代码,有自己的作用域,定义变量名词时不会影响到其他的结构;这个结构可以将自己希望暴露的变量、函数、对象等导出给其结构使用;也可以通过某种方式,导入另外结构中的变量、函数、对象等;上面说提到的结构,就是模块;按照这种结构划分开发程序的过程,就是模块化开发的过程;
2024-05-25 21:47:34
1035
原创 2024-04-29 Node.js学习一——安装与全局对象了解
官方对Node.js的定义:Node.js是一个基于V8 JavaScript引擎的JavaScript运行时的环境。也就是说Node.js基于V8引擎来执行JavaScript的代码,但是不仅仅只有V8引擎:前面我们知道V8可以嵌入到任何C++应用程序中,无论是Chrome还是Node.js,事实上都是嵌入了V8引擎来执行JavaScript代码;但是在Chrome浏览器中,还需要解析、渲染HTML、CSS等相关渲染引擎,另外还需要提供支持浏览器操作的API、浏览器自己的事件循环等;
2024-05-18 11:49:05
802
原创 2024-04-19 深入JavaScript高级语法七——响应式原理实现
实际开发中,需要响应的对象是有很多的,每个对象也有很多属性,不可能每个对象及每个对象的属性都通过一个数组分别收集,所以引出了类的封装。注释:每个对象单独对应一个Map(是为了防止有不同对象存在相同属性的情况),再把不同对象的Map通过一个统一的WeakMap管理起来。重点关注watchFn方法的变化和activeReactiveFn全局变量的作用,以及Proxy中的get方法。原因:真实开发中,是有多个对象的,而且每个对象也会对应不同的属性。封装一个获取depend的函数。
2024-04-19 16:26:53
288
1
原创 2023-03-12 深入JavaScript高级语法六——Proxy-Reflect
Reflect中常见的方法和Proxy是一一对应的,也是13个。类,这个类从名字就可以看出来,是用于帮助我们创建一个。在ES6中,新增了一个。
2024-04-19 09:54:55
848
1
原创 Vue2+ant-design(v1.7.8)实现合并单元格并自定义单元格内容
1、官方给出的demo官方demo地址其中主要代码为:具体通过column的customRender属性实现const renderContent = (value, row, index) => { const obj = { children: value, attrs: {}, }; if (index === 4) { obj.attrs.colSpan = 0; } return obj;};const columns = [ {
2022-02-24 19:59:16
1919
1
原创 angular9+ant-design框架实现输入框只能输入数字和小数点
1、功能实现以下代码引用至ant-design官方文档import { Component, ElementRef, ViewChild, ViewEncapsulation } from '@angular/core';@Component({ selector: 'nz-demo-input-tooltip', encapsulation: ViewEncapsulation.None, template: ` <input #inputElement
2021-12-27 14:50:38
1226
原创 2021-10-28 html5+css3学习笔记(一)
目录1、文档声明2、html元素的lang(language的缩写)属性3、head元素嵌套的元素URL/SEO优化SEO优化1、文档声明<!DOCTYPE html>作用:HTML文档声明,告诉浏览器当前页面是HTML5页面,让浏览器用HTML5的标准去解析识别HTML文档必须放在HTML文档的最前面,不能省略,省略了会出现兼容性问题2、html元素的lang(language的缩写)属性英文:<html lang="en">...</html>
2021-11-10 09:51:45
721
原创 2021-08-27 angular9学习(二)—— 结构型指令(改变宿主文档结构)
目录1. angular语法中的*符号2. 只有一个输入属性时3. 有多个输入属性时1. angular语法中的*符号*是一个语法糖,举例:<a *ngIf="isLogin">退出</a>等价于:<ng-template [ngIf]="isLogin"> <a>退出</a></ng-template>2. 只有一个输入属性时html使用:<div *appMyDirective="firstParam
2021-08-27 15:40:37
124
原创 2021-08-25 angular9学习(一)—— ChangeDetection和属性型指令
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-08-27 11:01:26
424
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人