前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第2篇,开闭原则OCP(The Open/Closed Principle )。 开闭原则的描述是: Software entities (classes, modules, functions, etc.) should be open for extension but closed for modification. 软件实体(类,模块,方法等等)应当对扩展开放,对修改关闭,即软件实体应当在不修改的前提下扩展。 open for extension(对扩展开放)的意思是说当新需求出现的时候,...
前言 本章我们要讲解的是S.O.L.I.D五大原则JavaScript语言实现的第3篇,里氏替换原则LSP(The Liskov Substitution Principle )。 英文原文:http://freshbrewedcode.com/derekgreer/2011/12/31/solid-javascript-the-liskov-substitution-principle/ 开闭原则的描述是: Subtypes must be substitutable for their base types. 派生类型必须可以替换它的基类型。 在面向对象编程里,继承提供了一个机制让子类和共享基类的代码,...
适合的读者:有经验的开发员,专业前端人员。 原作者: Dmitry A. Soshnikov 发布时间: 2010-09-02 原文:http://dmitrysoshnikov.com/ecmascript/javascript-the-core/ 参考1:http://ued.ctrip.com/blog/?p=2795 参考2:http://www.cnblogs.com/ifishing/archive/2010/12/08/1900594.html 主要是综合了上面2位高手的中文翻译,将两篇文章的精华部分都结合在一起了。 我们首先来看一下对象[Object]的概念,这也是ECMASript中最基本...
前言 写这篇文章的目的是经常看到开发人员说:把字符串转化为JSON对象,把JSON对象转化成字符串等类似的话题,所以把之前收藏的一篇老外的文章整理翻译了一下,供大家讨论,如有错误,请大家指出,多谢。 正文 本文的主题是基于ECMAScript262-3来写的,2011年的262-5新规范增加了JSON对象,和我们平时所说的JSON有关系,但是不是同一个东西,文章最后一节会讲到新增加的JSON对象。 英文原文:http://benalman.com/news/2010/03/the...
JavaScript编程的时候总避免不了声明函数和变量,以成功构建我们的系统,但是解释器是如何并且在什么地方去查找这些函数和变量呢?我们引用这些对象的时候究竟发生了什么? 原始发布:Dmitry A. Soshnikov 发布时间:2009-06-27 俄文地址:http://dmitrysoshnikov.com/ecmascript/ru-chapter-2-variable-object/ 英文翻译:Dmitry A. Soshnikov 发布时间:2010-03-15 英文地址:http://dmitrysoshnikov.com/ecmascript/chapter-2-v...
具体一点就是编写高质量JavaScript的一些要素,例如避免全局变量,使用单变量声明,在循环中预缓存length(长度),遵循代码阅读,以及更多。 此摘要也包括一些与代码不太相关的习惯,但对整体代码的创建息息相关,包括撰写API文档、执行同行评审以及运行JSLint。这些习惯和最佳做法可以帮助你写出更好的,更易于理解和维护的代码,这些代码在几个月或是几年之后再回过头看看也是会觉得很自豪的。 书写可维护的代码(Writing Maintain...
简介 从本章开始,我将陆续(翻译、转载、整理)http://dmitrysoshnikov.com/网站关于ECMAScript标标准理解的好文。 本章我们要讲解的是ECMAScript标准里的执行上下文和相关可执行代码的各种类型。 原始作者:Dmitry A. Soshnikov 原始发布: 2009-06-26 俄文原文:http://dmitrysoshnikov.com/ecmascript/ru-chapter-1-execution-contexts/ 英文翻译:Dmitry A. Soshnikov. 发布时间:2010-03-11 英文翻译:http://dmitrysoshnikov...
前言 网上还没用发现有人对命名函数表达式进去重复深入的讨论,正因为如此,网上出现了各种各样的误解,本文将从原理和实践两个方面来探讨JavaScript关于命名函数表达式的优缺点。 简单的说,命名函数表达式只有一个用户,那就是在Debug或者Profiler分析的时候来描述函数的名称,也可以使用函数名实现递归,但很快你就会发现其实是不切实际的。当然,如果你不关注调试,那就没什么可担心的了,否则,如果你想了解兼容性方面的东西的...
简介 Module模式是JavaScript编程中一个非常通用的模式,一般情况下,大家都知道基本用法,本文尝试着给大家更多该模式的高级使用方式。 首先我们来看看Module模式的基本特征: 模块化,可重用 封装了变量和function,和全局的namaspace不接触,松耦合 只暴露可用public的方法,其它私有方法全部隐藏 关于Module模式,最早是由YUI的成员Eric Miraglia在4年前提出了这个概念,我们将从一个简单的例子来解释一下基本的用法(如果你已...
介绍 在这篇文章里,我们将讨论跟执行上下文直接相关的更多细节。讨论的主题就是this关键字。实践证明,这个主题很难,在不同执行上下文中this的确定经常会发生问题。 许多程序员习惯的认为,在程序语言中,this关键字与面向对象程序开发紧密相关,其完全指向由构造器新创建的对象。在ECMAScript规范中也是这样实现的,但正如我们将看到那样,在ECMAScript中,this并不限于只用来指向新创建的对象。 英文翻译: Dmitry A. Soshnikov...
前言 大家学JavaScript的时候,经常遇到自执行匿名函数的代码,今天我们主要就来想想说一下自执行。 在详细了解这个之前,我们来谈了解一下“自执行”这个叫法,本文对这个功能的叫法也不一定完全对,主要是看个人如何理解,因为有的人说立即调用,有的人说自动执行,所以你完全可以按照你自己的理解来取一个名字,不过我听很多人都叫它为“自执行”,但作者后面说了很多,来说服大家称呼为“立即调用的函数表达式”。 本文英文原文...
今天开始将发布系列文章向大家分享40款非常有用的 jQuery 插件。 MotionCAPTCHA ( 演示 | 下载 ) MotionCAPTCHA 是一款非常特别的 jQuery 验证码插件,要求用户画出看到的形状才能通过验证,用到了 Canvas 标签,所以只能在现代浏览器中使用。 Smart Validate ( 演示 | 下载 ) 这是一款基于 jQuery 的信用卡验证插件,使得繁琐的信用卡格式验证变得轻松,支持各种流行的行用卡类型。 Wave Display Effect with jQuery ( 演示 |...
今天开始将发布系列文章向大家分享40款非常有用的 jQuery 插件。 HTML5 File Uploads with jQuery ( 演示 | 下载 ) 这是一款用于帮助你实现 HTML5 文件拖放上传功能的 jQuery 插件。Shuffle Letters Effect: a jQuery Plugin ( 演示 | 下载 ) 这款插件能够帮助实现非常酷的文字显示效果,可用于标题、LOGO和幻灯片。Skitter ( 演示 | 下载 ) Skitter 是一款非常精美的幻灯片插件,可以完全自定义,非常棒!Cuepoint JS ( 演示 |...
jQuery 以其插件众多、独特、轻量以及支持大规模的网站开发闻名。本文继续向大家分享实用的 jQuery 插件,可以根据您的项目需要来选择使用。《《前一篇:40款非常棒的 jQuery 插件和制作教程(系列一)》》 Client Testimonials Powered by PHP, XML and jQuery ( 演示 | 下载 ) 结合 jQuery 和 XML 制作的客户感言插件,吸引更多用户使用你的产品。 Coding a Rotating Image Slideshow w/ CSS3 and jQuery ( 演示 | 下载 ) 使用 ...
Snippet – jQuery Syntax Highlighter ( 演示 | 下载 ) Snippet 是一款超棒的代码高亮插件,支持15种流行语言,有数十种配色方案供选择,酷! Apple-like Retina Effect With jQuery ( 演示 | 下载 ) 使用 jQuery 实现的苹果 Retina 效果插件,很棒! Animate Panning Slideshow with jQuery ( 演示 | 下载 ) 一款很棒的 jQuery 幻灯片插件,有详细的制作教程。 Colourful rating system with CSS3 ( 演示 | 下载 ) 使用 jQue...