【有书共读】JavaScript面向对象编程指南 读书笔记1
第一章 面向对象的JavaScript
面向对象的程序设计
在深入学习JavaScript之前,我们首先要了解一下“面向对象”的具体含义,以及这种程序设计风格的主要特征
-
对象
所谓对象实质上是指“事物”在程序设计语言中的表现形式。例如:人,特征:名字、性别等,人能执行某些动作,比如:跑、跳等。在OOP语义中,对象的特征称为:属性,对象的行为称为:方法
-
类
相似对象之间往往有一些共同的组成特性,例如:老人、小孩都具备人类的特征,因此可以统称为人类。在OOP中,类实际上就是对象的设计蓝图。类是一种模板,而对象则是在这些模板上创建出来的实体。
但是,JavaScript与C++或java这种传统的面向对象语言不同,它实际上压根没有类,该语言的一切都是基于对象的,其依靠的是一套原型(prototype)系统。而原型本身实际上也是一种对象
-
封装
封装通常由两部分组成,包括:相关的数据(用于存储属性)和基于这些数据能做的事情(所调用的方法)
-
聚合
聚合有时也叫组合,强调的是讲多个对象合二为一的能力。
-
继承
继承,通常指的是类与类之间的关系,但由于JavaScript中不存在类的概念,因此它的继承只能发生在对象之间,通过继承可以实现对现有代码的重用。
-
多态
不同对象通过调用相同的方法来实现各自行为的能力,我们称之为多态。
环境设置
所有现代浏览器中都应该自带了JavaScript控制台组件。后续的学习中用的主要以WebKit控制台为主。
WebKit所附带的Web审查工具
在chrome和safari浏览器中,可以通过右键相关页面,选择“检查”或者按F12来打开控制台,web审查工具就会显示在弹出窗口中,选择标签栏中的“控制台”就进入控制台界面中。
例如:在控制台中输入location.href,控制台就会返回当前页面的url
通常情况下,控制台只提供单行输入,可以通过分号做分割符来执行多个JavaScript语句。也可以通过组合键shift+enter来实现换行,在这种情况下,代码不会被立即执行
Mac上的JavaScriptCore
在mac上,可以不用浏览器也可以通过终端来执行JavaScript。通过spotlight找到终端。打开终端后,输入:
alias jsc='/System/Library/Frameworks/JavaScriptCore.framework/Version/Current/Resources/jsc'
该命令为JSC(即JavaScriptCore)设置了一个别名,JSC其实是webkit引擎的一部分。MAC系统自带该引擎。
也可以直接将这个alias命令放入~/.profile文件,这样每次打开终端时,就可以直接通过jsc这个别名来启动JavaScriptCore了。
更多控制台
几乎所有的主流浏览器都有自带的控制台,如Firefox的firebug组件,IE8之后的版本通过F12也可以打开开发者工具。
另外,可以通过Node.js的交互环境来学习JavaScript。可以从http://nodejs.org中获取并安装Node.js,然后在终端中尝试启动其控制台
查看23道真题和解析