03 2017 档案

摘要:这段时间一直在研究设计模式,在看工厂模式的时候,看到一段代码 对这段代码最后的返回new this.vehicleClass( options )有些迷惑,到底是先执行了后面的方法还是先new了一个新对象出来呢? 直到今天v2ex出现一道JS面试题, v2ex链接 前面几问都没问题,到后面涉及到ne 阅读全文
posted @ 2017-03-29 18:35 姜瑞涛 阅读(3965) 评论(4) 推荐(2)
摘要:《JavaScript模式》一书看完一半了,越发感慨要精通JavaScript并非一夕一朝之事。先不说设计模式,就说JS的模块模式你真正灵活运用了么?这是成为一名架构师必备的基础。只是看书是很难掌握这些模式的灵活运用,需要实战,大量的实战。去什么地方实战呢,业务代码是很少有机会进行这个层面的实战的。 阅读全文
posted @ 2017-03-27 13:54 姜瑞涛 阅读(520) 评论(0) 推荐(0)
摘要:接着学习《JavaScript设计模式与开发实践》一书。 书中用售楼处发给订阅者楼房信息短信的例子,说明了发布-订阅模式。一个发布-订阅模式,总结来说,由以下几条: 1.首先要指定好谁充当发布者,比如售楼处; 2.然后给发布者添加一个缓存列表,用于存放回调函数以便通知订阅者; 3.最后发布消息的时候 阅读全文
posted @ 2017-03-21 20:44 姜瑞涛 阅读(232) 评论(0) 推荐(0)
摘要:一直在尝试为javascript找一个快捷可靠的对象深拷贝的方法,昨天突发奇想,把对象push到一个空数组里,然后对改数组通过concat()或slice()进行拷贝,然后取出数组的第一个元素复制给变量,这个变量岂不就是深拷贝的对象么。说干就干,上代码 若成功的话,控制台里是对象{c: 1},否则是 阅读全文
posted @ 2017-03-17 10:26 姜瑞涛 阅读(208) 评论(0) 推荐(0)
摘要:暂时放弃算法的深入学习了,等熟悉了Java再搞算法。 先从牛客网的JS方面刷起,接着刷数据结构和算法,然后去刷leetcode,这儿记载自己从出错的地方。 对于leedcode,写个个人使用指南。 下面几个是用js做的题的链接 1 2 3 4 5 基本上这几个就够了,看不懂解题过程就去牛客网看看别人 阅读全文
posted @ 2017-03-11 22:27 姜瑞涛 阅读(312) 评论(0) 推荐(0)
摘要:最终答案在一个类库里,地址 https://github.com/yahoo/ypromise 这个类库也有问题,就是下面这道面试题在IE9里实现不一致,类库里还是用了setTimeout。去年尝试用setTimeout(,0)来实现Promise,见Promise的实现原理 ,最后以失败告终。今天 阅读全文
posted @ 2017-03-10 15:15 姜瑞涛 阅读(517) 评论(0) 推荐(0)
摘要:能看出上面是一个策略模式的实现么?一个基于策略模式的程序至少由两部分组成。第一个部分是一组策略类,策略类封装了具体的算法,并负责具体的计算过程。第二个部分是环境类,环境类接受客户的请求,随后把请求委托给某一个策略类。要做到这点,说明环境类要维持对某个策略对象的引用。 仍学习自《JavaScript设 阅读全文
posted @ 2017-03-08 15:24 姜瑞涛 阅读(486) 评论(0) 推荐(0)
摘要:重新看《JavaScript设计模式与开发实践》一书,第32页发现个简易版的Function.prototype.bind实现,非常容易理解,记录在这了。 原文也给了个完整版的实现,这儿就不写了。 阅读全文
posted @ 2017-03-07 17:53 姜瑞涛 阅读(340) 评论(0) 推荐(0)