自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

chinaMasters

随心所写

  • 博客(6)
  • 收藏
  • 关注

原创 深入浅出js单例模式

何为单例模式?顾名思义,单例模式就是***保证一个类仅有一个实例***,也就是创建出来的两个实例必须相等! 构造函数静态属性创建单例 function Singleton() { // 已有实例则返回该实例,没有则创建实例 if (typeof Singleton.instance === 'object') { return Singleton.i...

2020-02-27 17:31:52 138

原创 发布订阅和观察者模式的区别

有些人认为观察者模式就是发布订阅模式,实际上观察者模式是包含了订阅发布模式,发布订阅模式只是观察者模式中的一种。观察者模式是观察者和被观察者之间的通信,而发布订阅模式中间增加了一个中转层,通过第三方来分发信息。 观察者模式 // Subject为被观察者,Subject中的状态(state)改变,就通知 Observer更新 class Subject { constr...

2020-02-24 22:45:00 245

原创 Js中常见this指向问题

无论是工作或者面试中,this指向问题是经常遇到的。所以这篇文章把常见的指向问题列出来给大家,避免踩坑。首先我们要知道,在函数中this到底取何值,是在函数真正被调用执行的时候确定的,函数定义的时候确定不了,也就是说,this的指向完全取决于函数调用的位置。因为this的取值是作用域环境的一部分,每次调用函数,都会在不同的作用域环境。 1:全局环境中 在浏览器环境严格模式中(区别于node),th...

2020-02-23 21:17:21 249 1

原创 防抖和节流

窗口的resize、scroll、输入框内容校验等操作时,如果这些操作处理函数是较为复杂或页面频繁重渲染等操作时,在这种情况下如果事件触发的频率无限制,会加重浏览器的负担,导致用户体验非常糟糕。此时我们可以采用debounce(防抖)和throttle(节流)的方式来减少触发的频率,同时又不影响实际效果。 防抖 在事件被触发n秒之后执行,如果在此期间再次触发事件,则重新开始计时。 我们模拟输入...

2020-01-06 09:18:57 160

原创 module.exports和exports的区别

module.exports和exports的区别 在node中,为什么我们使用 module.exports 或 exports 可以导出模块数据,那是因为模块默认添加了如下代码,这些代码我们都看不到。 // 默认添加 声明了module对象,并且为空,并有exports属性 var module = { exports: { // 导出的内容 ...

2019-12-30 10:34:35 177

原创 JS常见字符串操作方法

JS常见字符串操作方法 最近难得有空摸鱼,把工作开发中常见易混淆的字符串操作方法,做一些归纳总结,主要介绍了slice substring substr substr split join String toString 等方法,这些方法都不会改变原始字符串,更多字符操作方法,请看菜鸟教程。 ☛ 传送门 一、 slice 方法 返回一个索引和另一个索引之间的字符串 str.slice(begi...

2019-12-24 14:07:42 178

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除