• web-API

    DOMDOM :( Document Object Model 文档对象模型),是针对 HTML 和 XML 文档的一个 API 。DOM 描绘了一个层次化的节点树,允许开发人员 增删改查 页面的某一部分。 attribute:getAttriubt...
  • 装饰器模式

    本文摘自《Javascript设计模式与开发实践》 1. 定义 给对象动态添加职责 2. 应用场景 解除耦合关系,如提交前的表单检验,函数参数封装等 3. 模拟参考
  • 发布订阅模式

    本文摘自《Javascript设计模式与开发实践》 1. 定义 对象之间的依赖关系。当一个对象的状态发生改变时,所有依赖它的对象都会得到通知 Javascript一般用事件模型来替代传统的发布-订阅模式 可能会有中介这个身份,中转所有依赖关系。让...
  • 合并对象

    1 Object.assign 123let obj1 = {a:[1], b:[1,23,4]}let obj2 = {a:[1,2], c:5 , d:1}console.log(Object.assign...
  • 判断对象是否是个空对象

    1. 遍历,根据是否有值for...in... 2. 整个对象转换为数组Object.entries 3. 转为JSON字符串JSON.stringify() 4. 获取对象的属性名并以数组形式返回Object.getOwnPropertyName...
  • MVVM实现(Object.defineProperty && 观察订阅)

    1. MVVM特点图解 2. MVVM的功能: 给所有data属性值都设置数据劫持,绑定好属性观察。(也是深度响应原理) 结合观察订阅者模式 3.代码实现:(MVVM 包含双向数据绑定、v-model、computed)12345678910111...
  • 浏览器-重排&&重绘

    底层原理:webkit 引擎将 render树上的每个可见元素,包装成 渲染对象 。 而 WebKits RenderObject 类是所有渲染对象的基类。这个基类,包含了以下两个方法:(1) layout: 学名:布局 / 回流 功能点...
  • ES2019新变化

    1 数组:数组降维:Array.prototype.flat() 递归地将嵌套数组拼合到指定深度 创建新数组,不改原数组 1234567891011const arr1 = [1, 2, [3, 4]];arr1.flat(); // [1, 2, ...
  • 浏览器异步(三)

    此篇博文转载自瓶子君的blog 链接,并加以自己的理解和注释。 Promise本质Promise就是为了解决callback的问题而产生的。 Promise 本质上就是一个绑定了回调的对象,而不是将回调传回函数内部。 开门见山,Promise解决...
  • 浏览器异步(二)

    转载自瓶子君的blog 链接 step1:回调函数callback123asyncFunction(function(value) { // todo}) 这种回调函数,大家是最熟悉的。一般是需要在某个耗时操作之后执行...