JavaScript设计模式之单例模式

定义:保证一个类仅有一个实例,并提供一个访问它的全局访问点。单例模式是一种常用的模式,有些对象往往只需要一个,比如:线程池、全局缓存、浏览器中的 window 对象等。在 Javascript 开发中,单例模式的用途同样非常广泛,比如做登录弹框,它在当前页面是唯一的,无论单击...

JavaScript 闭包和高阶函数

一、闭包 变量的作用域 在函数中声明一个变量,如果变量前面没有带上关键字 var ,这个变量就会成为全局变量,用 var 关键字声明变量,变量即为局部变量,只有在函数内部可以访问 var func = function() { var a = 'JavaScript'; console.log(a); // JavaScript...

JavaScript面向对象编程之多态

多态同一操作作用于不同的对象上面,可以产生不同的解释和不同的执行结果,换句话说,给不同的对象发送同一个消息的时候,这些对象会根据这个消息分别给出不同的反馈。 示例 var googleMap = { show: function() { console.log('开始渲染谷歌地图'); ...

JavaScript中常见的设计模式

一、单例模式 1. 定义 保证一个类仅有一个实例,并提供一个访问它的全局访问点 2. 核心 确保只有一个实例,并提供全局访问 3. 实现 假设要设置一个管理员,多次调用也仅设置一次,我们可以使用闭包缓存一个内部变量来实现这个单例 // 提取出通用的单例 ...

JS中的节流与防抖运用

节流函数和防抖函数在日常的开发中还是有很多地方用到,两个函数的目的都是为了控制函数被调用的频率 正常调用 function inputChange(val) { console.log('change:', val); } let inputEl = document.getElementById('input'); inputEl.addEventListener('keyu...