摘要: 下面的状态机选择通过Function.prototype.call方法直接把请求委托给某个字面量对象来执行。 下面利用delegate函数来重写一遍这个状态机 这是面向对象和闭包互换的一个例子。前者将变量保存为对象的属性,后者将变量封闭在闭包形成的环境中: Github上有另外一种方式: https 阅读全文
posted @ 2017-03-07 16:34 乌梅 阅读(5387) 评论(1) 推荐(0) 编辑
摘要: 看before函数中,我们会发现他们共用一个arguments,当我们将beforefn函数体内改变arguments,原函数_self接收到的函数参数列表自然也会变化。 平时我们在实际开发当中会遇到http请求中带一个Token,但是有些页面又不用或者Token生成方式不一样。 请看下面代码: 阅读全文
posted @ 2017-03-07 15:05 乌梅 阅读(868) 评论(0) 推荐(0) 编辑
摘要: 在Javascript中动态的给对象添加职责的方式称作装饰者模式。 下面我们通常遇到的例子: 用装饰者模式,在不改原来函数的基础上,我们增加自己的新功能。 这种给对象动态增加职责的方式,并没有真正地改动对象自身,而是将对象放入另一个对象之中,这些对象以一条链的方式进行引用,形成一个聚合对象。 我们在 阅读全文
posted @ 2017-03-07 11:00 乌梅 阅读(304) 评论(0) 推荐(0) 编辑