首页 > 代码库 > JS设计模式(一)
JS设计模式(一)
刚入职时,看过一段时间的设计模式,似懂非懂。不知不觉过去七个月了,对JS的理解更深刻了,数据结构与算法的基础也基本上算是过了一遍了,接下来要把设计模式搞定,然后不再深层次研究JS了,而是学习前端自动化、linux、数据库、服务器等的基础知识。
设计模式的学习主要参考《JavaScript设计模式与开发实践》一书,很多笔记也会从该书抄录。开始JS设计模式的学习。
1.原型模式
原型模式既是一种设计模式,也是一种编程泛型。原型模式是JS最基础的继承实现,在这儿就不多讲了,写一下JS原型继承的基本原则:
所有的数据都是对象;
要得到一个对象,不是通过实例化类,而是找到一个对象作为原型并克隆它;
对象会记住它的原型;
如果对象无法响应某个请求,它会把这个请求委托给它自己的原型。
2.单例模式
在写单例模式前,先补一个this的知识点。
document.getElementById这个方法名实在太长,我们大概尝试过用一个短的函数代替它:
var getId = id => document.getElementById(id); getId(‘div1‘);
我们也许思考过为什么不能用下面更简单的方式:
var getId = document.getElementById; getId(‘div1‘);
在Chrome、ID10中执行会发现报错。因为许多引擎的document.getElementById方法内部实现用到了this。这个this本来期望指向document,但用getId来引用document.getElementById后,变成了普通函数调用,this指向了window。
JS设计模式(一)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。