- 博客(7)
- 资源 (11)
- 问答 (1)
- 收藏
- 关注
原创 第一章、Object的变化侦测
为什么要侦测数据的变化?因为Vue.js要根据数据的变化去更新视图。 那么怎样才能侦测到数据的变化呢?我们都知道,在JavaScript中,侦测一个对象的变化,有两种方式:Object.defineProperty和ES6的Proxy。 Vue.js内部使用的是前者: function defineReactive(data,key,value){ Object.defineProperty...
2019-12-29 18:35:10 248
原创 写在前面的话
相信目前为止,vue.js这款框架,大家已经用的相当熟了吧。但是呢,好多人在使用的过程中,或多或少会出现一些无法理解的问题。 从今天开始,我就带大家一起了解一下这么牛逼的框架,它的内部到底都做了哪些操作呢? 通过这本书,我们主要学习以下几点: 1、Vue.js的响应式原理,理解为什么修改数据视图会自动更新 2、虚拟DOM的概念和原理 ...
2019-12-29 17:03:15 183
原创 附录B、了解ECMAScript 2016
1、指数运算符 Math.pow()方法可以执行求幂运算。 a ** b也可以求幂运算。 let result = 5 ** 2; console.log(result); // 25 console.log(result === Math.pow(5,2)); // true ①、运算顺序 求幂运算符在js所有二进制运算符中具有最高的优先级(一元运...
2019-12-22 21:26:16 137
原创 附录A、ECMAScript 6中较小的改动
1、使用整数 JavaScript使用IEEE 754编码系统来表示整数和浮点数。 ①、识别整数 Number.isInteger():确定一个值是否为JavaScript整数类型。 有些数字看起来像浮点数,却存储为整数。 console.log(Number.isInteger(25)); // true console.log(Numbe...
2019-12-22 21:23:39 111
原创 13、用模块封装代码
1、什么是模块 模块试运行在严格模式下并且没有办法退出运行的JavaScript代码。 ①、在模块顶部创建的变量不会自动被添加到全局共享作用域,模块必须导出一些外部代码可以访问的元素。模块也可以从其他模块导入绑定。 ②、在模块的顶部,this的值是undefined ③、模块不支持HTML风格的代码注释 2、导出的基本语法 // 导出数据 export var...
2019-12-22 21:20:57 257
原创 12、代理(Proxy)和反射(Reflection)API
第十二章、代理(Proxy)和反射(Reflection)API 代理Proxy是一种可以拦截并改变底层JavaScript引擎的包装器,在新语言中通过它暴露内部运作的对象。 1、数组问题 ES6出现以前,开发者不能通过自己定义的对象模仿JavaScript数组对象的行为方式。 当给数组的特定元素赋值时,影响到数组的length属性;也可以通过length属性修改数组元素...
2019-12-01 20:19:55 227
原创 11、Promise与异步编程
第十一章、Promise与异步编程 1、异步编程的背景知识 JavaScript引擎是基于单线程事件循环的概念构建的,同一时刻只允许一个代码块执行。 即将运行的代码块都是被放在任务队列(job queue)中,当JavaScript引擎一段代码执行结束时,事件循环(event loop)会将任务队列的第一个代码块交给JavaScript引擎进行执行,知道任务队列中的任务执行完毕。...
2019-12-01 15:43:11 127
vue3父子组件引入同一个hooks,父组件更新list数据后,子组件模板没有更新?
2022-03-30
TA创建的收藏夹 TA关注的收藏夹
TA关注的人