抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

在开始之前,先说一下为什么会说这个,之前在看一篇文章的时候,提到 == 和 === 的区别。
== :比较两个数据是否相等,允许进行类型转化
比如:1==true、’1’==true,结果都是true
===:严格比较两个数据是否是否相等,包括比较类型是否相同,类型不匹配返回false
比如:1===true、’1’===true,结果为false

数学运算符中的类型转换

1、减、乘、除运算
非Number类型的使用减、乘、除(-、*、/)运算符时,会先将非Number类型转换为Number类型

1
2
3
4
5
1 - true // 0, true先转换乘1,然后执行 1 - 1
1 - false // 1, true先转换乘0,然后执行 1 - 0
1 - null // 1, true先转换乘0,然后执行 1 - 0
1 - undefined // NaN, undefined转换为数字为 NaN
2 * ['5'] // 10, ['5']先变成'5'(这一步涉及拆箱操作),然后变成数字5

渐进增强(Progressive Enhancement)(相当于向上兼容)

一开始就针对低版本浏览器进行构建页面,完成基本的功能,然后再针对高级浏览器进行效果、交互、追加功能达到更好的体验

优雅降级(Graceful Degradation)(相当于向下兼容)

一开始就构建站点的完整功能,然后针对浏览器测试和修复。比如一开始使用 CSS3 的特性构建了一个应用,然后逐步针对各大浏览器进行 hack 使其可以在低版本浏览器上正常浏览

向下兼容指的是高版本支持低版本的或者说后期开发的版本支持和兼容早期开发的版本,向上兼容的很少
大多数软件都是向下兼容的

code spell checker配置项说明

文档地址

查看chrome各个版本功能变更

chrome status

查看== 、=== 、if()在不同情况下的执行结果

地址

github生成令牌

(1)登录GitHub网站
(2)找到setting页面 -> Developer setting
(3)选择 Personal access tokens ,点击 Generate new token 按钮
(4)需要填写token的权限范围
(5)注意:生成的token只在生成后可以看一次,一定要记得保存!!!

github推送代码弹窗应该怎么输入?

当本地修改代码后,需要推送到github仓库时,由于本地未记录用户名与密码,导致push时,先后出现GitHub登录弹窗,以及一个小弹窗,
鉴于在输入实际操作中,两次输入username和password不知道应该怎么输入,做个记录,避免遗忘。

(1)本地修改代码,提交。本文仅从git push开始记录,之前的命令和操作如果不知道怎么办,请自行百度或Google。

meta标签的使用

文档级元数据元素

meta标签一般放在HTML页面的head里面,MDN定义:

HTML 元素表示那些不能由其它 HTML 元相关(meta-related)元素((<base>,<link>,<script>,<style> 或 <title>)之一表示的任何元数据信息。

MarkDown语法及示例

代码块

```javascript
const name = ‘eric’;
….
```

加粗字体

**文字**
__文字__

倾斜字体

*文字*
_文字_

新建固定长度数组

使用primitives填充数组
1
2
const newArray = Array(3).fill(3);
console.log(newArray); // [3, 3, 3]

Array(length).fill(initialValue) 是一种创建具有所需长度并使用原始值(数字、字符串、布尔值)初始化的数组的便捷方法

疑问点

(1)react中的快照的具体作用是什么?vue3中是否有类似的操作?
类似渲染的子节点???
(2)react中将调试打印的信息放在块级作用域中?为什么不直接放在代码里面?
没什么特别意义,团队规范规定
(3)vue3中在patch的时候,为什么在有了patchElement(感觉能满足大部分情况了)的情况下,分了其他几种类型?
性能、更新

渲染流程

vue3_render
(1)创建一个vue实例 -> 初始化实例(包括需要相关事件与生命周期函数等)
(2)调用beforeCreate
(3)初始化注入,包括data、method等添加到实例对象
(4)实例创建完成,调用created
(5)有el挂载,使用template替换;无挂载,使用mount自动挂载
(6)有template,进行编译,使其成为render函数
(7)(1)有template,使用模板构建抽象语法树;(2)通过数据获取元素的outerHTML属性值即元素结构的字符串形式构建HTML模板
(8)调用beforeMount(vue实例挂载在虚拟DOM上)
(9)生成HTML元素节点,替换页面原有的挂载节点(页面渲染)
(10)调用mounted
– (1)数据变更,即将重新渲染
– (2)调用beforeUpdate
– (3)进行虚拟DOM和真实DOM对比,进行patch
– (4)渲染完成,调用updated
(11)实例销毁之前调用beforeUnmount
(12)实例销毁,vm.$destroy
(13)销毁后调用unmounted