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...

js 面向对象编程之多继承

单继承 var extend = function(target, source) { // 遍历源对象中的属性 for (var property in source) { // 将源对象中的属性复制到目标对象中 target[property] = source[property]; } // 返回目录对象 return target...

js 面向对象编程之继承

私有属性与私有方法,特权方法,对象公有属性和对象共有方法,构造器,类静态公有属性,类静态公有方法 var Book = function(id, name, price) { // 私有属性 var num = 1; // 私有方法 function checkId() { console.log('checkId'); ...