超简单!三步实现多个markdown合并输出一个 pdf 需要准备:vscodechrome合并markdown打开命令行,输入:windowstype *.md res.mdMac OScat *.md > res.mdchrome预览markdownvscode下载插件:vscode Markdown Preview Enhanced预览markdown,右击,用浏览器打开chrome打印在 chrome 中右击,选择打印,导出 pdf...
从输入内容到展示页面全过程详解 整体流程将整个流程分为导航流程和渲染流程两部分。导航流程处理用户输入判断是搜索内容还是url搜索内容则直接用默认搜索引擎,合成带搜索关键字的URLurl,则判断url规则,根据规则,把内容加上协议,合成完整的URL监听beforeunload事件,beforeunload 事件允许页面在退出之前执行一些数据清理操作,还可以询问用户是否要离开当前页面用户可以通过 beforeunload 事件来取消导航,让浏览器不再执行任何后续工作进入页面资源请求过程。浏览器进程会通过进程间通
小程序底层架构 小程序底层架构与浏览器对比以微信小程序为例,与浏览器中的对应关系:js 开发逻辑代码 -> js -> v8wxss (多了rpx单位)控制样式 -> css -> 浏览器渲染器wxml xml语言 控制渲染层展示 -> html -> 浏览器渲染器 -> dom浏览器单线程 存在阻塞小程序双线程架构js 逻辑层wxml、wxss 视图层JSBridge 通信(可以实现相机、扫码)微信小程序初级架构所有的逻辑代码会打
浏览器的进程和线程简述 文章目录进程和线程进程和线程的关系浏览器是多进程的浏览器的四大进程关于浏览器渲染进程关于WebWorker关于SharedWorker关于硬件加速进程和线程进程是cpu资源分配的最小单位(是能拥有资源和独立运行的最小单位)线程是cpu调度的最小单位(线程是建立在进程的基础上的一次程序运行单位,一个进程中可以有多个线程)进程之间互相独立。线程是不能单独存在的,它是由进程来启动和管理的。一个进程就是一个程序的运行实例。详细解释就是,启动一个程序的时候,操作系统会为该程序创建一块内存,用来存放代码
HTML和CSS基础系列(三) 文章目录伪类、伪元素的区别css选择器优先级(权重问题)css标准盒子和怪异盒子css提升性能的方式可继承属性visible:hidden和display:none有什么区别?在render tree 和 dom tree里面呢?window和document的区别 window.onload和document.ready的区别h5新增结构元素和属性如何开启硬件加速transform会引起回流吗伪类、伪元素的区别举几个例子:伪类::link,:visited,:hove,:active,:focus
HTML和CSS基础系列(二) 文章目录语义化标签@import @media @charset 等 @ 规则页面导入样式时,使用link和@import的区别css中有哪些单位px、em、rem的区别rem为什么能够实现自适应布局,在不同的手机端表现是什么static、fixed、relative、absolute的区别display可以取哪些值href和src的区别三栏布局css3动画 transition和animationflex的使用方法,flex:1代表了什么bfc的作用,触发条件清除浮动的方式(解决高度坍塌)css水平垂直居
HTML和CSS基础系列(一) 文章目录DoctypeHTML5 为什么只需要写 你知道多少种Doctype文档类型?行内元素和块级元素块级元素行内元素行内块级元素让块级元素一行显示的方法HTML5 表单验证全局监听错误的方法document.write和innerHTML的区别DOM属性datasetHTML5的离线缓存离线检测iframe的缺点与iframe有关的小知识``与`<h1>`的区别、`<b>`与`<strong>`的区别、`<i>`与`<em>`的区别?</
JavaScript系列之函数执行上下文和闭包(作用域与作用域链) 内含词法作用域、变量对象、函数执行上下文、函数执行上下文栈、作用域链的概念和闭包的实质。另外,还通过具体的代码分析函数执行的整个过程。
手把手写一个迷你版的koa2 koa2中间件的简单实现说明本次的简单实现重点在中间件的原理上(compose函数),而其他部分的实现就忽略了很多细节,只是让代码能跑起来。与express不同,koa2的路由处理与它本身是分开的(路由处理用koa-router)。这里的内容不包括路由处理。本次的实现内容包括koa的use,listen和中间件的洋葱圈模型。koa中间件执行机制koa2中间件使用的是洋葱圈模型。这里附上一张网络上广为流传的图:从这张图也能知道个大概意思:请求从最外层传到最里层,响应从最里层逐层
es、js、nodejs傻傻分不清楚?(ECMAScript、JavaScript、nodejs的区别和联系) 目录ECMAScript、JavaScript、nodejs的区别和联系ECMAScriptJavaScriptNode.js联系js与nodejs的区别js引擎简单介绍ECMAScript、JavaScript、nodejs的区别和联系首先简单介绍一下:ECMAScript定义了语法,这是写JavaScript和nodejs都必须遵守的语法包含变量定义、循环、判断、函数,原型和原型链、作用域和闭包、异步不能操作DOM,不能监听click事件,不能发送ajax请求不能处理http请求,
带你快速了解js的函数式编程 几个概念函数式编程函数式编程是一种范式,我们能够以此创建仅依赖输入就可以完成自身逻辑的函数。这保证了当函数被多次调用时仍然返回相同的结果。函数不会改变任何外部环境的变量,这将产生可缓存的、可测试的代码库。引用透明性引用透明性是指所有的函数对于相同的输入都将返回相同的值。那么在调用这个函数的时候,我们不必关心函数内部的实现,只用结果就好。你可以储存这个结果,甚至直接用结果去替换函数的调用。命令式和声明式命令式就是告诉编译器如何做。比如,遍历一个数组:const array = [1, 2,
leetcode1371 每个元音包含偶数次的最长子字符串 题目给你一个字符串 s ,请你返回满足以下条件的最长子字符串的长度:每个元音字母,即 ‘a’,‘e’,‘i’,‘o’,‘u’ ,在子字符串中都恰好出现了偶数次。示例1输入:s = "eleetminicoworoep"输出:13解释:最长子字符串是 "leetminicowor" ,它包含 e,i,o 各 2 个,以及 0 个 a,u 。示例2输入:s = "leetcodeisgreat"输出:5解释:最长子字符串是 "leetc" ,其中包含 2 个 e 。示例3输入:s =
js位运算详解及巧妙应用 位运算JavaScript中的数字以浮点数的形式64位存储。但在位运算中,数字被转换为有符号32位整数格式。每种位操作均直接在这32位数上实现结果,返回值也是有符号的32位整数。最后再将这32位的结果转换回64位数值。这种转换导致了一个严重的副效应,即在对特殊的NaN和Infinity值应用位操作时,这两个值都会被当成0处理。如果对非数值应用位操作符,会先使用Number()函数将该值转换为一个数值(自动完成),然后再应用位操作。得到的结果将是一个数值。js中的位运算有 按位或(|),按位与(&am
移动端300ms延迟和点击穿透 文章目录一、移动端点击产生300 ms的延迟解决方案方案一:禁用缩放(HTML文档头部设置meta标签)方案二:更改默认的视口宽度方案三:CSS touch-action方案四:FastClick方案五:使用touchstart替代click二、点击穿透什么是点击穿透,点击穿透为什么会发生什么时候会触发点击穿透解决方案延迟蒙层的消失时间CSS touch-action使用FastClick参考链接一、移动端点击产生300 ms的延迟300ms延迟是指当我们点击页面的时候移动端浏览器并不是立即作出反应,而