JavaScript面向对象编程详解

JavaScript 的面向对象写法,最早靠的是构造函数和原型链搭配搞定类的行为。虽然没有一上来就给你一个关键字叫,但只要你稍微了解下原型机制,其实还蛮灵活的。比如你写个Lecture构造函数,再用Lecture.prototype.display挂个方法,快就能跑起来。

构造器+原型链这一套,用来复用方法还挺高效的,内存占用少,响应也快。像课程表这个例子就挺实用:一个Schedule对象,里面塞一堆Lecture对象,再一起调用display方法,页面弹出你排好的课表,蛮方便。

实例化的时候你会写类似:

var mySchedule = new Schedule([
  new Lecture("Gym", "Mr. Smith"),
  new Lecture("Math", "Mrs. Jones"),
  new Lecture("English", "TBD")
]);
alert(mySchedule.display());

是不是像在玩积木?把课程组装好,一键展示结果。虽然 ES6 以后有了class,语法上更直观,但搞懂这种原始方式,底子会更扎实。

另外,写完 OOP 代码后别忘了测试。单元测试、集成测试这些都挺关键,推荐用Jest或者Mocha试试,配合浏览器调试工具像 Firebug 或者 Chrome DevTools,查问题也快。

如果你刚好想搞懂 JavaScript 的面向对象写法,不妨照着这个例子练练手。熟悉了构造函数和原型的套路,再回头看 ES6 class,你会觉得:哦,原来是这么回事。

pdf 文件大小:1.55MB