传统的

/* Anim class */
var Anim = function () {};
Anim.prototype.start = function () {
console.log("start");
} Anim.prototype.stop = function () {
console.log("stop");
} /* Usage */
var myAnim = new Anim();
myAnim.start();
myAnim.stop();

json方式

/* Anim class */
var Anim = function () {};
Anim.prototype = {
start:function () {
console.log("start");
},
stop:function () {
console.log("stop");
}
} /* Usage */
var myAnim = new Anim();
myAnim.start();
myAnim.stop();

给Function定义一个方法

Function.prototype.method = function (name,fn) {
this.prototype[name] = fn;
} var Anim = function () {};
Anim.method('start',function(){
console.log("start");
});
Anim.method('stop',function(){
console.log("stop");
}); var myAnim = new Anim();
myAnim.start();
myAnim.stop();

升级Function方法,可以连续使用

Function.prototype.method = function (name,fn) {
this.prototype[name] = fn;
return this; // 返回对象本身
} var Anim = function () {};
Anim.method('start',function(){
console.log("start");
}).method('stop',function(){
console.log("stop");
}); var myAnim = new Anim();
myAnim.start();
myAnim.stop();

Javascript设计模式之创建对象的灵活性的更多相关文章

  1. 《JavaScript设计模式 张》整理

    最近在研读另外一本关于设计模式的书<JavaScript设计模式>,这本书中描述了更多的设计模式. 一.创建型设计模式 包括简单工厂.工厂方法.抽象工厂.建造者.原型和单例模式. 1)简单 ...

  2. 再起航,我的学习笔记之JavaScript设计模式22(访问者模式)

    访问者模式 概念介绍 访问者模式(Visitor): 针对于对象结构中的元素,定义在不改变该对象的前提下访问结构中元素的新方法 解决低版本IE兼容性 我们来看下面这段代码,这段代码,我们封装了一个绑定 ...

  3. Javascript设计模式(1)

    本文是学习了<JavaScript设计模式>(谢廷晟 译)做的学习笔记 一.JavaScript的灵活性 1. 普通 functon function startAnimation() { ...

  4. Javascript设计模式(摘译)

    说明: 未完成...更新中.... 一.javascipt设计模式分类 设计模式分类有很多标准,最流行的三种如下 1)  creational  --  主要关注对象创建 Creational des ...

  5. JavaScript设计模式:读书笔记(未完)

    该篇随我读书的进度持续更新阅读书目:<JavaScript设计模式> 2016/3/30 2016/3/31 2016/4/8 2016/3/30: 模式是一种可复用的解决方案,可用于解决 ...

  6. JavaScript的学习--JavaScript设计模式的总结

    这篇博客只是自己对设计模式的理解的备忘~ 看完了<JavaScript设计模式>这本书,一直没有写博客记录一下,最近抽出时间来重读了一下,就顺便记录一下~ 如果你只是想粗略了解一下Java ...

  7. JavaScript设计模式 - 迭代器模式

    迭代器模式是指提供一种方法顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示. 迭代器模式可以把迭代的过程从业务逻辑中分离出来,在使用迭代器模式之后,即使不关心对象的内部构造,也可以按顺 ...

  8. 【读书笔记】读《JavaScript设计模式》之门面模式

    一.前言 门面模式,也称Facade(外观)模式.核心的两点作用—— 1> 简化类的接口(让接口变得更加容易理解.容易应用.更加符合对应业务),来掩盖一个非常不同或者复杂的实现 2> 消除 ...

  9. 【读书笔记】读《JavaScript设计模式》之工厂模式

    一个类或对象中往往会包含别的对象.在创建这种成员对象时,你可能习惯于使用常规方式,也即用new关键字和类构造函数.问题在于这回导致相关的两个类之间产生依赖性. 工厂模式用于消除这两个类之间的依赖性,它 ...

随机推荐

  1. Shell—学习之心得

    由于项目要招聘需要有经验shell开发人员(awk编程),而作为技术面试官(暂时)的我对shell编程不太熟:当然以前也写过一些shell脚本来满足项目的需求—备份环境,数据库(逻辑).假如只是针对a ...

  2. MDI窗体容器和权限设置.avi

    一.MDI窗体容器 MDi窗体是装Form的容器.平常Form(窗体)就是平常展示的最高级别,但是MDI比Form还高级.它可以让其它窗体在它的内部打开,无法超出它的范围 1 创建:将某个窗体的属性: ...

  3. bouncycastle创建csr

    public static void main(String[] args) { String subjectDN = "CN=duwenlei"; String algorith ...

  4. CodeForces 651B Beautiful Paintings 贪心

    A. Joysticks time limit per test 1 second memory limit per test 256 megabytes input standard input o ...

  5. UIEdgeInsetsMake, CGRectOffset等API参数详解

    1, UIEdgeInsetsMake ( CGFloat top, CGFloat left, CGFloat bottom, CGFloat right ) 2,position点是相对suerL ...

  6. 主框架搭建demo

    - (void)viewDidLoad {     [super viewDidLoad];        [self setUpAllChildViewController]; }    /**   ...

  7. linux unzip命令

      zip文件是一种常用的压缩文件格式,WinZip.WinRar等压缩软件都支持zip文件格式,就连java的jar包也是zip格式的,Firefox插件xpi文件也是zip格式的.Linux在zi ...

  8. LeetCode-Repeated DNA

    关于位操作符.如<<, value << num ,其中,num指定要位移值value移动的位数,每左移一个位,高阶位都被移出(直接丢掉),并用0填充右边.. 道理明明很简单啊 ...

  9. 反弹SHELL汇总

    http://pentestmonkey.net/cheat-sheet/shells/reverse-shell-cheat-sheet Reverse Shell Cheat Sheet If y ...

  10. Metasploit中使用Nessus插件命令

    基本命令 导入扫描结果 db_import  /路径/文件.nessus 查看数据库里面现有的IP信息 msf > db_hosts -c address,svcs,vulns(注:vulns是 ...