Vue3响应式原理学习

原理概括 Vue3使用Proxy劫持数据的修改和读取 使用ReflectAPI修改和读取数据 在读取属性时,记录是哪个函数读取的,每一个属性对应一个Set对象 在属性被修改时,使用forEach遍历调用这些函数,完成修改渲染 原理参考图 实现代码 <!DOCTYPE html> <html lang="en"> <head> <

- 阅读全文 -

JS语法 ES6、ES7、ES8、ES9、ES10、ES11、ES12新特性

本文摘录自:https://segmentfault.com/a/1190000039272641前言前端学习永无止境,学习吧骚年~本文集合了 ES6 至 ES11 常用到的特性,包括还在规划的 ES12,只列举大概使用,详细介绍的话内容量将十分巨大~.~。PS:使用新特性需要使用最新版的 bable 就行转义本文后面将长期不断更新~新特性ES6(2015)1. 类(class)class Man

- 阅读全文 -

ES6学习概括

let 变量声明块级作用域不可重复定义没有变量提前const常量声明结构赋值数组型对象型模板字符串箭头函数函数参数默认参数剩余参数(rest)【形参位置】拓展运算符【实参运算符】Symbol - es6新添加的第七种数据类型迭代器 iterator生成器函数Promise.then.catchPromise.resolvePromise.reject 永远失败Promise.allPromise.

- 阅读全文 -

js中的模块化规范

前言最开始的js并没有模块化这么一说,是散乱的。为了解决这问题,先出现了commonjs规范的模块化。目前的模块化标准包括commonjs、amd、cmd(不流行)、esm使用commonjs主要在node环境内使用,如果需要在浏览器环境使用需要全局安装browserify模块并且保存在开发环境的依赖中使用browserify 源路径 -o 目标路径进行打包amdrequire.config({

- 阅读全文 -

Reflect

Reflect.has检查对象内有没有这个变量 Reflect.has(Object,"assign"); //true "assign" in Object; //trueReflect.get获取对象内的指定变量 var obj={ name:"abc" } Reflect.get(obj,"name"); //true Reflect.get(obj,"age

- 阅读全文 -

ES6初学2

1.Class类通过class的形式添加class Num{ constructor(...args){ for( let i in args ){ this[i]=args[i]; } } add(){ let total=0; for( let i in this )

- 阅读全文 -