这里介绍下面这4种设计模式 Module Prototype Observer Singleton 每种模式有许多属性构成,在这我只强调一下几点: 1 Context: 在何种情况使用哪种模式? 2 问题: 我们要解决什么为题? 3 解决方案: 怎么用模式解决我们的问题? 4 实现: 怎么实现这些模式? Module module是JavaScript里面的类.类的一个优点是封装--使得某些状态和行为不被其他的类访问. Module设计模式允许我们有私有成员和公共成员. Module应该是IIF…
javascript有一些对于初学者甚至是有经验的开发者都难以理解的概念. 这个部分是针对那些听到 : 作用域, 闭包, this, 命名空间, 函数作用域, 函数作用域, 全局作用域, 变量作用域(后续翻译这个词我也没太懂), 公共/私有 作用域 后想要深入了解的人的. 当你看完这篇文章后你将了解有关以下问题的答案: 什么是作用域 什么是全局/局部 作用域 什么是命名空间,他和作用域的不同 this是什么,它是怎样被作用域影响的 什么是函数/lexical 作用域 什么是闭包 什么是公共/私有…
先对需要用到的名词解释一下,再通过例子深入理解 一.什么是作用域(Scope) [[scope]]:每个javascript函数都是一个对象,对象中有些属性我们可以访问,但有些不可以,这些属性仅供javascript引擎存取,[[scope]]就是其中一个.[[scope]]指的就是我们所说的作用域,其中存储了运行期上下文的集合.即作用域决定了代码区块中变量和其他资源的可见性. 二.变量的作用域类型 1.全局作用域:全局作用域贯穿整个javascript文档,在所有函数声明或者大括号之外定义的变…
译者按: 你可能已经用到Underscore或者Lodash.本文列举了13个常用的JavaScript工具库来提高开发效率. 原文: 11 Javascript Utility Libraries You Should Know In 2018 译者: Fundebug 为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用于学习. JavaScript依然是2018年最受欢迎.最流行的编程语言,所以它的生态系统也十分完善. JavaScript小小的标准库已经不足以应付各…
1.使用 typeof bar === "object" 推断 bar 是不是一个对象有神马潜在的弊端?怎样避免这样的弊端? 使用 typeof 的弊端是显而易见的(这样的弊端同使用 instanceof): let obj = {}; let arr = []; console.log(typeof obj === 'object'); //true console.log(typeof arr === 'object'); //true console.log(typeof nul…
题目来自 25 Essential JavaScript Interview Questions.闲来无事,正好切一下. 一 What is a potential pitfall with using typeof bar === "object" to determine if bar is an object? How can this pitfall be avoided? 老生常谈的问题,用 typeof 是否能准确判断一个对象变量,答案是否定的,null 的结果也是 obj…
我写JavaScript代码已经很久了,都记不起是什么年代开始的了.对于JavaScript这种语言近几年所取得的成就,我感到非常的兴奋:我很幸运也是这些成就的获益者.我写了不少的文章,章节,还有一本专门讨论它的书,然而,我现在依然能发现一些关于这种语言的新知识.下面的描述的就是过去让我不由得发出“啊!”的感叹的编程技巧,这些技巧你应该现在就试试,而不是等着未来的某个时候偶然的发现它们. 简洁写法 JavaScript里我最喜欢的一种东西就是生成对象和数组的简写方法.在过去,如果你想创建一个对象…
简洁写法 对象的简写在过去,如果你想创建一个对象,你需要这样: var car = new Object();  car.colour = 'red';  car.wheels = 4;  car.hubcaps = 'spinning';  car.age = 4; 下面的写法能够达到同样的效果: var car = {  colour:'red',  wheels:4,  hubcaps:'spinning',  age:4  } 这样就简单多了,你不需要反复使用这个对象的名称.这样 car…
我写JAVAScript代码已经很久了,都记不起是什么年代开始的了.对于JavaScript这种语言近几年所取得的成就,我感到非常的兴奋:我很幸运也是这些成就的获益者.我写了不少的文章,章节,还有一本专门讨论它的书,然而,我现在依然能发现一些关于这种语言的新知识.下面的描述的就是过去让我不由得发出“啊!”的感叹的编程技巧,这些技巧你应该现在就试试,而不是等着未来的某个时候偶然的发现它们. 简洁写法 JavaScript里我最喜欢的一种东西就是生成对象和数组的简写方法.在过去,如果你想创建一个对象…
帮助提高你jQuery应用的简单小技巧. 回到顶部按钮 图片预加载 判断图片是否加载完 自动修补破损图像 Hover切换class类 禁用输入 停止正在加载的链接 toggle fade/slide 简单的手风琴 使两个DIV同等高度 在浏览器标签/新窗口打开外部链接 根据文本获取元素 可见变化的触发 Ajax调用错误处理 链式操作 回到顶部按钮 利用jQuery里的animate和scrollTop方法,你便不需要使用插件创建简单的滚动到顶部动画. // Back to top $('.top…