两分钟上手 pinia

安装官网 123yarn add pinia# or with npmnpm install pinia 初始化 Pinia1234567import { createPinia } from 'pinia'const pinia = createPinia()pinia.use(SomePiniaPlugin) /...

Read More

函数全解

1. 函数的返回值由什么确定? 答:’x1’ 当初在JS故意这么设计的,如果a像参数x一样也是在调用的时候确认的话,那和干脆把a也直接传入不就好了,所以a由定义时的环境决定。 同理:下图结果为’x2’ 2. 闭包 对象也可以模拟闭包 123456const self = { _a: 1, // js可以设置为私有属性 fn() ...

Read More

杜绝使用 npm

管理器 npm,太慢了,总会有莫名的bug,需要删除 node_modules,在次安装以后才能解决。 cnpm,已经淘汰。 yarn / yarnPnP,比 npm 快很多,比 npm 做了很多的优化,但是还存有和 npm 一样的其他问题。 pnpm,更快,且解决了 npm/yarn 内部潜在的 bug,并且极大了地优化了性能,扩展了使...

Read More

2021 Node 的新变化

npm => yarn => pnpm,pnpm 优化了依赖,而且自带多仓库,monorepo Next.js Nest.js Nuxt.js(vue2) Remix.js 构建工具 Vite,抄袭借鉴了 snowpack esbuild(golang 写的)、swc(rust 写的) 挑战 babel 理论上 ru...

Read More

2021 Vue 的新变化

全面支持 TypeScript(vscode 有个新插件,Vetur => Volar) 升级到 Vue 3.2 setup script VueUse ,抄袭了 ReactUse,获得了 7.4k 星星 Vitejs 获得了 35.5k 星星

Read More

2021 React 的新变化

React 17:没有任何新功能(既然没有变化,为什么还要发版?因为做了很多的优化,重写了一些东西) 优化了事件委托(把原来的事件都绑定在 document 上,改成了绑定在根元素上,这样如果你在一个页面上有两个 React 应用也会互不干扰) 优化了 JSX(在配置的时候可以选择,新版本把 JSX 和 React 解耦了) 新概念:React Serve...

Read More

字符编码笔记

ASCII 码我们知道,计算机内部,所有信息最终都是一个二进制值。每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。也就是说,一个字节一共可以用来表示256种不同的状态,每一个状态对应一个符号,就是256个符号,从00000000到11111111。 上个世纪60年代,美国制定了一套字符编码,对...

Read More

编程语言历史

Haskell curry。光看这个人的名字就很厉害,Haskell 被用来作为一门编程语言的名字,Curry 被用来作为一个编程技巧。在 1930+ 的时候发明了组合逻辑。但是大部分人都没接触过,而是在别人告诉你科里化的时候才去知道这个组合逻辑。 图灵机,1937年。基本思想是用机器来模拟人们用纸笔进行数学运算的过程,像下图一样,一个纸袋在移动,可以写...

Read More

大端模式和小端模式

大端模式大端模式(Big-Endian)又称大端字节序,由于在网络传输中一般使用的是大端模式,所以也叫网络字节序。 在大端模式中,将高位字节放在低位地址,低位字节放在高位地址。 举个例子,数值 0x12345678,其中 0x12 这一端是高位字节,0x78 这一端是低位字节。 该数值的存储顺序是这样的: 大端模式符合我们阅读和书写的方式,都是从左到右的。...

Read More

Web性能优化-代码优化

代码位置优化123456<head> // css ....</head><body> // js ...</body> 上文说到,CSS 要放在上面,JS 要放到下面,因为一些阻塞关系 1234 HTML不会相互影响/ \相互阻塞 CSS ————— JS ...

Read More