⭐️ level
文章平均质量分 73
进阶
丶乘风破浪丶
前端
展开
-
js call 回顾分析 apply用法同理
A.call(B,x,y) 忽略其他解释 简单理解为1、改变函数A的this指向,使之指向B。2、把A函数放到B中运行,x和y是A函数的参数。//父类 Person function Person() { this.sayName = function() { return this.name; } } //子类 Chinese function Chinese(name) { ...原创 2022-01-17 10:48:15 · 449 阅读 · 0 评论 -
深入理解JavaScript的深拷贝和浅拷贝
为了更好的理解js的深浅拷贝,我们先来理解一些js基本的概念 ——Javascript有五种基本数据类型(也就是简单数据类型),它们分别是:Undefined,Null,Boolean,Number和String。还含有一种复杂的数据类型(也叫引用类型),就是对象注意Undefined和Null的区别,Undefined类型只有一个值,就是undefined,Null类型也只有一个值,也就...原创 2019-07-03 11:06:51 · 171 阅读 · 0 评论 -
设计模式 - 建造者模式
1 什么是建造者模式?建造者模式(Builder)是将一个复杂对象的构建层与其表示层相互分离,同样的构建过程可采用不同的表示。建造者模式的特点是分步构建一个复杂的对象,可以用不同组合或顺序建造出不同意义的对象,通常使用者并不需要知道建造的细节,通常使用链式调用来进行建造过程,最后调用build方法来生成最终对象。同样作为创建型的设计模式,需要注意和工厂模式的区别,工厂虽然也是创建对象,但怎样创建无所谓,工厂模式关注的是创建的结果;而建造者模式不仅得到了结果,同时也参与了创建的具体过程,适合用来创原创 2021-03-22 13:57:41 · 115 阅读 · 0 评论 -
动态表单构建器——建造者模式
在编写一个弹出框时,它可以包含确定按钮,取消按钮,标题栏,关闭按钮,最小化按钮,内容,最大化按钮等内容,但这些内容在不同的需求下又不是必须存在的,不同的需求需要对这些组件自由组合,显然每次组合都要重复编码。将这些不同的,容易变动的组件分离开来,通过一个Builder类一步一步的构造复杂的对象,这就是建造者模式。下面的例子是通过设计一个表单构造器来演示建造者模式。现在流行的Hybrid App的开发网络请求基本都是通过Ajax实现,设想一下如果应用要求根据不同的用户角色来提交不同的表单,...原创 2021-03-22 13:46:01 · 201 阅读 · 0 评论 -
js 设计模式【白话文】 (策略模式,发布-订阅模式,装饰器模式,责任链模式)
手把手教你项目中使用:JavaScript设计模式想必很多程序员谈到设计模式,肯定是一头雾水,我才没心思管你什么设计模式不设计模式呢!只要能够实现需要就行,就是一顿搞。其实在编码中合理按照一定设计模式去设计项目代码结构,是能够很好的提高代码的可维护行/可读性,和减少代码的数量。这样性能不就提示了么,自己编码的时候不香,不舒服么?今天将通过4个实际案例学习前端的设计模式。下面是常见的四种设计模式策略模式 发布-订阅模式 装饰器模式 责任链模式策略模式假设我们有一个要求,当用户试原创 2021-03-12 10:50:09 · 244 阅读 · 0 评论 -
观察者模式
js实现观察者模式 观察者模式:设计该模式背后的主要动力是促进形成松散耦合。在这种模式中,并不是一个对象调用另一个对象的方法,而是一个对象订阅另一个对象的特定活动并在状态改变后获得通知。订阅者也称为观察者,而补观察的对象称为发布者或主题。当发生了一个重要的事件时,发布者将会通知(调用)所有订阅者并且可能经常以事件对象的形式传递消息。 思路:发布者对象需要一个数组类型的属性,以存储所有的订阅者。订阅(即注册)行为就是将新的订阅者加入到这个数组中去,则注销即是从这个数组中删除某个订阅者。此外,...转载 2021-03-08 19:25:55 · 85 阅读 · 0 评论 -
Vue高阶组件
高阶组件(HOC)是React生态系统的常用词汇,React中代码复用的主要方式就是使用高阶组件,并且这也是官方推荐的做法。而Vue中复用代码的主要方式是使用mixins,并且在Vue中很少提到高阶组件的概念,这是因为在Vue中实现高阶组件并不像React中那样简单,原因在于React和Vue的设计思想不同,但并不是说在Vue中就不能使用高阶组件,只不过在Vue中使用高阶组件所带来的收益相对于mixins并没有质的变化。本篇文章主要从技术性的角度阐述Vue高阶...原创 2021-03-02 18:27:11 · 2420 阅读 · 1 评论