Building JavaScript Games for Phones Tablets and Desktop(1)-程序设计

程序设计

这章讲述编程语言随着时间变化而变化的过程。自从因特网从1990年出现开始,不断有大量的编程语言和编程工具在发展。其中著名的语言之一就是HTML,这种语言被用来建立网站。HTML和CSS与Javascript一块儿,能够用来建立动态网站,而后经过浏览器展现在咱们面前。css

计算机和程序

在你与HTML和Javascript打交道以前,这部分文章将简要的对计算机和程序作个概述。在这以后,你将学会如何建立一个简单的HTML网页,网页中同时含有Javascript。html

处理器和内存

一般来讲,一个计算机含有一个处理器和内存。对如今的电脑而言都是这样,包括游戏机,智能手机和平板电脑。我是这样定义内存的,能够从中进行读取或者写入,或二者兼得。内存有不一样的种类,主要区别是数据存取和数据传送的速度。有些内存能够读取和写入你想要的足够屡次的数据,有些内存只能读取数据,而有些内存只能写入数据。计算机中主要的处理器又被称做中央处理单元(CPU),另一个与CPU类似的处理器是图形处理单元(GPU)。在今天有些场合看来,CPU自身不只仅只再是一个单一的处理器,它其中还含有其余的核心。程序员

输出和输入设备,好比鼠标,游戏手柄,键盘,显示器,打印机,触摸屏等等,这些东西咋一眼看好像彻底独立于处理器和内存以外。然而,抽象的说,它们都是内存。好比触摸屏就是一个只读内存,打印机就是一个只写内存。web

处理器的主要任务就是执行指令。执行这些指令的效果就是内存发生了改变。特别是在我这种广义的内存定义下,处理器执行的每条指令在某些方式上都在改变着内存。你不可能只让计算机只执行一条指令。通常来讲,你有一个长长的指令单须要执行——“移动这部份内存,清除这部份内存,在显示屏上进行显示,检查是否有键盘输入”,这些被执行的指令就叫作程序。编程

程序

归纳说,一个程序就是很长的一段改变计算机内存的指令。而后,程序自己也储存在内存里。程序中的指令在执行以前,被储存在硬盘上,DVD上,或者USB这种FLASH设备中;或者储存在云端;或者储存在其余储存设备中。当程序须要执行时,程序就被迁移到计算机内存储器上。canvas

那些组合在一块儿的造成程序的指令,须要用某种方式来表达。计算机不会经过白话英语就掌握输入的指令,这就是为何你须要编程语言的缘由,好比Javascript。在实际中,指令相似文本同样进行编写,可是须要遵循严格的规则进行书写,这些规则就是一系列为编程语言量身定制的。许多编程语言存在的缘由就是当某些人想到些许表达指令的好的方式,他们就会努力把它变成一种新的编程语言。很难说到底有多少种编程语言,可是至少有上千种。windows

幸运的是,学所有不一样的语言是没必要要的,由于它们有不少的类似性。早些时候,编程语言的主要目标就是使用计算机中新的可能性。然而,如今更多的编程语言集中用有序代替混乱。编程语言之间拥有不少类似的特性,能够说做是属于一样的范式,这些范式来自于一系列的实践所得。 浏览器

早些时候:指令式编程

大量的编程语言属于指令式编程。所以,这些语言被叫作命令式语言。命令式语言是基于改变内存的指令,照此,这些语言适用于前面所描述的处理器-内存模型。Javascript就是命令式语言的例子。markdown

在早些时候,电脑游戏编程是很是难的,须要超高的技能。一个游戏机,好比游戏卡带机只有128字节的内存,并且最多只能使用4096字节的ROM,这些ROM同时包含程序和游戏数据。这些东西至关的限制了游戏的可能性。好比,许多游戏有对称性的设计由于要均份内存的要求。这些机器运行的至关慢。网络

最先用汇编语言进行游戏编程。汇编语言是第一个指令式编程语言。每种类型的处理器都有它指定的汇编指令,因此对不一样的处理器来讲,汇编语言都不一样。由于有限制的使用内存,游戏编程者都是专家,能榨干内存的最后几位和表现的像聪明的黑客同样有效率。最终游戏写好了,可是,这些游戏的代码都是难于理解或者除了原来游戏的编程者知道其余人都不知道的代码。幸运的是这不是一个问题,由于话说回来,那时候游戏都是一我的开发的。

有个大问题就是由于不一样的处理器有不一样的汇编语言,因此当一个新的处理器出来,全部已有的程序不得不从新写以适应最新的处理器。所以,急需出现独立于计算机处理器的编程语言。所以,Fortran和BASIC语言诞生了。BASIC语言在1970年代很是出名,由于那时候我的电脑已经诞生,好比1978年的APPLE II和1979年的IBM-PC以及它们的后代。不幸的是,这些语言没有被标准化,由于每一个计算机品牌都用它本身的BASIC。

过程程序设计:命令式+程序式

随着程序变得更加复杂,很显然须要一种更好的组织指令的方式。在过程程序设计中,相关的一些指令被放在一组程序中(或者叫作函数、方法,后者是更常见的一种叫法)。由于过程式编程语言仍然拥有指令,因此全部的过程式语言同时也是指令式语言。

一个很是著名的过程式语言就是C语言。这个语言来自贝尔实验室,运行在1970年代末的UNIX操做系统上。由于操做系统是个很是复杂的程序,贝尔实验室想用过程式语言来进行实现。因而发明了一个新的语言叫作C语言。Unix的哲学就是任何人均可以编写基于它的扩展,并且这些扩展也是用C语言实现。所以,C语言成为了1980年代最重要的过程式语言,即便在Unix世界以外。

C语言仍然大范围使用,虽然它慢但确实是对现代语言作出了影响,特别是游戏产业。这些年来,游戏程序愈来愈大,由团队作出来的游戏比我的作出来的愈来愈多了。最重要的是游戏代码可读了,可重复利用了且易于调试。最后,从终极观点来讲,减小程序员在游戏上的编程时间变得必要了。虽然C语言比汇编语言好了太多,用它结构化的编写大的程序仍然很是困难。

面向对象编程:过程 + 对象

过程式语言好比C语言容许你经过函数(方法)组合各类指令。而面向对象编程让程序员能把方法装进一个叫类的里面。类占用的内存就叫作对象。一个类能够描述好比吃豆人游戏中的幽灵。而后每一个幽灵对应类的一个对象。这种编程的思惟方式在游戏编程中是很是有用的。

每一个人都在学习C语言编程,因此必须构思一个新的编程语言相似C,除了能让程序员使用类和对象,其余特性都要像C语言。这个语言叫作C++,第一个C++版原本自1978年,官方版本出如今1981年。

即便C++是一个标准的语言,可是C++写的基于WINOWS系统运行的程序没法在其余操做系统上运行。在苹果电脑,windows电脑或unix电脑上写一个程序是不一样的,想让一个C++写的程序在不一样系统中运行是很难的事情。最初,这不被认为是问题,可是当因特网变得流行起来后,让同一个程序在不一样的操做系统上运行变得愈来愈重要了。

一个新的语言出现的时机成熟了:此语言能在不一样的操做系统上使用。这个语言必须相似C++,可是也须要去除掉一些C的东西来实现简化。Java语言知足了这个语言角色。Java是1995年由硬件设备商Sun推出的。Sun公司那时使用了一个创新的商业模式:这个软件是免费的,而后公司经过提供支持来得到盈利。

Java一个特别的特性就是Java编写的程序在同一计算机上之间不会互相干扰。对于C++来讲,这是很大的一个问题:若是一个错误出现,可能崩溃整台电脑。更坏的是,别有用心的程序员会借机传播病毒和间谍软件。

网络应用

Java使人感兴趣的一方面是它能够运行在浏览器中。这种可能性使之能够在互联网间共享程序。可是运行Java程序须要安装插件,此外,对于Java程序没有可能性使之与浏览器产生交互。固然,浏览器的主要任务之一是展现HTML页面。HTML是文本格式语言,是超文本标记语言的缩写,它旨在提供一种方式经过一组标签来结构化文档,代表文档中不一样的部分,好比标题或段落。HTML是1980年代由物理学家Berners-Lee发明的,他那时候在欧洲核子研究委员会工做。他想创造一个方式让其委员会成员能够简单使用和分享文档。所以,在一次会议中,他提议一个基于因特网的标记系统。Berners-Lee为HTML定义了少数标签。第一个HTML版本有18个标签,其中的11个仍然存在于如今的HTML中。

随着因特网变得公开,HTML成为了最多见的构造网站的语言。Mosaic,那时很是一个流行的浏览器,引进了一个新的标签,img,这个标签能够把图片嵌入到HTML中。另外,许多新的HTML语言版本被不一样的组织起草制定,为了规范标准化元素,让其能够被大量的浏览器兼容。好比列表和表单。1995年,HTML的2.0版本由HTML工做组推出,这个版本将全部元素制定了单一的标准。在那以后,万维网协会开始维护和更新HTML标准。一个新的HTML标准,HTML3.2在1997年推出。在同年的12月,HTML4诞生。最后,HTML4.01在2000年成为了一个新的标准。如今,W3C实现了HTML的第5个版本,HTML5.

假如你历来没有作过网站,下面是一个简单的HTML页面:

<!DOCTYPE html>
<html>
<head>
<title>Useful website</title>
</head>
<body>
This is a very useful website.
</body>
</html>

开发浏览器的公司很快意识到它们须要让页面更动态化。最初的HTML标准(2.0)主要目的是标记文本。然而,网页浏览者须要按钮或者其余交互,所以如何代表一个用户与浏览器交互的规范就颇有必要了。换句话说,网页须要变得更动态。固然,有Java程序,可是它们是彻底独立运行的,所以不能修改HTML页面中的元素。

美国网景公司,开发了一个网景浏览器,在与微软的浏览器激烈竞争中争夺成为一我的人都用的浏览器。网景公司已经使用了Java语言在它一些已经存在的工具里,可是它又想设计出一个轻量级的,解释性的语言来面向那些不是专业的程序员(好比网页设计师)。这个语言能够与网页交互,动态读取或者修改网页内容。网景公司推出了一个叫作liveScript的语言来知足这种角色。不久以后,网景公司改名此语言为JavaScript,JavaScript被包含进网景浏览器版本2中。

JavaScript做为一个能够和浏览器动态交互的脚本语言迅速成功起来。微软也把它包含进了自家的浏览器Internet Explore 3.0,不过被叫作JScript,由于它与网景公司最初设计的有些许不一样。1996年,网景公司报送JavaScript到欧洲计算机制造协会组织(ECMA),ECMA把它重命名为ECMAScript(尽管全部人都叫它JavaScript),在1999年,它终于成为了一个被全部浏览器支持的版本。最新的ECMAScript版本是5.1版本,在2011年推出。ECMAScript 6正在开发之中,增长了许多新的特性,好比类和函数参数的默认值。

因为JavaScript被大多数的浏览器支持,JavaScript已经变成了网页的主要编程语言。由于它最初被设计为轻量级的,解释性语言。但现在程序员用它开发更复杂的基于浏览器的应用程序。现在,JavaScript成为了惟一的与HTML绑定在一块儿的语言,其在不一样的浏览器不一样的平台中能够运行。和HTML5一块儿,它已经成为了网页开发的主要框架。

游戏编程

这本书的目标是教你游戏编程。游戏是很是有趣的(有时候富有挑战!),它们与不一样的输出输入设备打交道,而且游戏创造的虚构世界至关的复杂。

直到1990年代初,游戏都还在为指定的平台开发。好比,为一个指定的游戏机写的游戏不能在其它的设备上运行,除非游戏开发者开发其游戏程序运行在不一样的硬件设备上。对PC游戏来讲,这种影响更糟。今日,操做系统提供了一个硬件抽象层让程序员不用理会不一样类型计算机硬件间的区别。在那以前,每一个游戏须要为不一样的显卡或声卡提供一个驱动。所以,为一个游戏编写的代码不可能大面积为其它游戏所用。在1980年代,大型电玩至关的流行。可是为它们而编写的代码几乎没有可能复用在新的游戏中,由于计算机硬件在不断的变化之中。

随着游戏变得愈来愈复杂,并且操做系统也愈来愈独立于硬件。复用之前的游戏代码对游戏公司来讲就变得愈来愈有意义。若是你能从你以前发行的游戏中找到渲染程序和碰撞检测程序,为什么还要从新写一个呢?游戏引擎这个术语在1990年代被创造,当时毁灭战士和雷神之锤很是流行。因此当时它们的设计公司就决定许可部分游戏代码做为软件的一部分出售给其它的游戏公司。这些做为游戏引擎的代码进行销售是有利可图的,由于部分游戏公司想要支付大量的许可费来使用这些引擎到它们本身的游戏中。这些游戏公司就不用白手起家写它们本身的游戏代码,它们能够重复利用这些游戏引擎中的代码而后把注意力放在其余方面,好比图形构造,角色设计,等级设计等等。

现在有许多不一样的游戏引擎能够利用。有些游戏引擎特别为一些游戏平台和操做系统设计。有些游戏引擎能够运行在任何平台上,而不用修改游戏代码。这对那些须要发布他们的游戏到不一样的平台上的游戏公司是很是有用的。

现代游戏引擎为游戏开发者提供了许多功能,好比2D或3D渲染引擎,特别效果好比粒子,灯光,声音,动画,人工智能,可脚本嵌入等等。游戏引擎被频繁的使用,由于开发不一样的工具是个巨大的工做并且游戏公司更加喜欢把那些时间和精力放在创造更好的环境和具备挑战性的东西上。

由于核心游戏功能和游戏自己(水平,角色等)的严格区分,许多游戏公司雇佣了比程序员更多的艺术家。然而,程序员改善游戏引擎仍然是有必要的,或者同时编写处理那些与游戏引擎无关的程序或者特定游戏的程序代码。此外,游戏公司常常开发软件来支持游戏开发,好比等级编辑程序,3D模型扩展用来加载模型和加载动画,原型建造工具等等。

对于JavaScript而言,没有一我的人都用的游戏引擎。许多人用JavaScript编写至关简单的游戏以确保游戏能运行到不一样的设备上,特别是那些性能有限的设备上。所以程序员直接编写游戏使用HTML5元素好比canvas来代替使用游戏引擎。然而,游戏引擎是快速变化的。若是你在Google搜索中输入JavaScript游戏引擎,你将会找到不少游戏引擎来开发你的游戏。这本书的目的是教你如何开发游戏,可是不会使用引擎,由于我想教你这个语言的核心和它的潜力。这不是一个关于游戏引擎的故事。事实上,读完本书后,你能够构建本身的游戏引擎。我不是说你应该作那个,可是本书学到最后你能白手起家开发一个游戏而且理解一个游戏引擎是如何工做的。

游戏开发

这里有两种常见的开发游戏的方法。表1-1阐明了这些方法:第二种方法包含了第一种方法。当人们开始学习编程,他们首先书写代码,而后写一个紧凑的循环,而后测试,而后进行修改。相比之下,专业的程序员,花费大量的前期时间在编写代码以前进行游戏设计。

(省略图1-1)

小规模:编辑-解释-运行

当你想用JavaScript创造一个游戏,你须要写一个包含不少指令的程序。使用一个文本编辑器,你就能够编写你的脚本。当你写完这些代码后,你启动一个浏览器而后试着运行这个程序。当一切就绪,浏览器就会解释脚本而且执行它。

然而,大多数时间,事情没有那么简单。首先,你提供给浏览器或解释器的必须是有效的JavaScript代码。浏览器会坚持检查JavaScript代码是否符合JavaScript语言规范。若是不符合,它会抛出一个错误,而后脚本中止。固然,程序员十分努力书写JavaScript程序,可是不免出现拼写这种错误,并且编写程序的规则要求十分严格。所以,在解释这个阶段,你就会与错误邂逅。

当你解决几个小错误后,浏览器检查了所有的脚本并无报错。下一步,浏览器运行脚本。不少状况下,你发现脚本没有按照你想的那样运行。固然,你尽力表达你想运行的脚本效果,可是概念上的错误很容易出现。

所以你回到编辑器中修改脚本,而后打开浏览器运行脚本期待不会有新的错误出现。你会发现以前的问题解决了,不料又出现了其余新的问题,仍然没有实现你想要的。你不得不从新继续修改脚本。欢迎来到程序员生活!

大规模:设计-说明-实现

随着你的游戏变得愈来愈复杂,在作以前就写代码不是一个好主意。在开始实施以前(写和测试程序),有两个阶段须要经历。

首先,你须要设计游戏。你要创造什么类型的游戏?谁会是你游戏的观众?它是2D仍是3D游戏?你想游戏是种什么玩法?游戏中会出现什么样的角色,它们都有怎样的能力?特别是当你和其余人一块儿开发游戏时,你不得不书写上述有关的设计文档,而后别人才知道你要开发什么样的游戏。即便你一人单独开发游戏,写游戏设计文档也是有好处的。设计游戏的阶段实际上是开发游戏过程当中最难的阶段之一。

一旦清楚游戏作什么,下一步就是为程序设计提供一个总体结构。这就叫作说明阶段。你还记得面向对象编程是把指令装在方法里,把方法装进类里吗?在说明阶段,你要有一个大局观,关于游戏须要的类和类中须要的方法。在这步,你只须要描述出方法将要作什么,而不是它怎么作。然而,你不能假想那些方法里不可能实现的事情,由于最终咱们要实现方法。

当游戏说明完成,你就来到了游戏实现阶段,也就是编辑-解释-运行。在那以后,你可让他人 玩你的游戏。在某些状况下,你会发现本身的某些点子没有运行的想象的那么好。所以,你会再次设计游戏,从新规划游戏和实现它。而后又让他人玩你的游戏。编辑-解释-运行包含在大规模编写游戏方式里:设计-说明-实现。虽然这本书主要注意力放在游戏实现方面,可是你最好在第三十章多读一点关于游戏设计的东西。

建立你的第一个网络应用

这部分,你将创造一些简单的JavaScript应用,在这节以前,你已经看到了一个基本的网页:

<!DOCTYPE html>
<html>
<head>
<title>Useful website</title>
</head>
<body>
This is a very useful website.
</body>
</html>

打开一个文本编辑器,好比notepad,复制粘贴这段代码。用.html后缀保存文件,双击文件用浏览器打开。你几乎看见的是一个空白的网页,如图1-2所示。在HTML里,标签用来结构化文档中的信息。你可能已经意识到它们了,由于它们被放到尖括号里面。不一样类型的内容就被放在相似这样的标签里面。你能够经过标签前的斜线来区别这是一个开标签仍是闭标签。好比,文档的标题被放在开标签title和闭标签titile之间。再说,title标签又是head标签的一部分。head又是html的一部分,由于它在html之间。正如你看到的那样,HTML的标签系统能让你有条理的组织文档内容。所有的HTML文档有一个树状结构,其中HTML元素是根部;根部包含了其余元素好比head与body,同理它们又包含了其余分支。

(省略图1-2)

一旦你建立了HTML文档,你就能够改变它的风格了。好比,你想改变HTML中不一样内容的布局,或者你想用不一样的字体或者背景色。样式定义是HTML文档的一部分。或者你能够写一个CSS文件来指定样式。

虽然这本书里不会详细说明CSS。可是我会尽可能较少在浏览器中使用CSS。好比下面,简单的用CSS设置HTML与BODY边距为0.

html, body {
 margin: 0;
}

若是你想让你的HTML页面使用CSS,你只需简单的在head标签里加上这行:

<link rel="stylesheet" type="text/css" href="game-layout.css"/>

我会在本书中大多数的游戏例子中用之前的CSS文件。在第十三章,我会扩展CSS便于游戏自动缩放匹配不一样设备。

你能够在HTML文档中直接改变样式,而不是用CSS。实现的方法就是设置标签的属性。好比,下面的HTML页面有个style属性来改变背景色为蓝色。如图1-3所示。

<!DOCTYPE html>
<html>
    <head>
        <title>BasicExample</title>
    </head>
    <body style="background:blue">
        <p>That's a very nice background</p>
    </body>
</html>

(省略图1-3)

你能够改变不一样的类型经过style属性值。好比,看下面的HTML:

<!DOCTYPE html>
<html>
    <head>
        <title>BasicExample</title>
    </head>
    <body>
        <div style="background:blue;font-size:40px;">Hello,how are you?</div>
        <div style="background:yellow;font-size:20px;">I'm doing great,thank you!</div>
    </body>
</html>

若是你看文档中的body部分,你能够发现由两部分组成。每一个部分由div标签关联,div用于将HTML文档划分为不一样部分。你能够为不一样的部分使用不一样的样式。在这个例子中,第一部分有一个蓝色背景和40像素的字体,第二部分有黄色的背景和20像素的字体。(如图1-4)

(省略图1-4)

你也能够用JavaScript改变HTML的元素风格代替style属性。好比,你能够用下面的JavaScript代码来改变背景色。

<!DOCTYPE html>
<html>
    <head>
        <title>BasicExample</title>
        <script>changeBackgroundColor = function(){
            document.body.style.background = "blue";
        }
        document.addEventListener('DOMContentLoaded', changeBackgroundColor);
        </script>
    </head>
    <body>
        That's a very nice background.
    </body>
</html>

这个例子呈现出的效果和第一个例子如出一辙,可是在使用JavaScript和使用标签属性之间有一个重要的不一样之处:JavaScript动态的改变了颜色。这是由于有下面这一行:

document.addEventListener('DOMContentLoaded', changeBackgroundColor);

在HTML和JavaScript中有不一样的事件类型。好比,能够给HTML添加一个按钮而后当用户点击按钮时执行JavaScript代码。下面代码就是个例子(如图1-5所示):

<!DOCTYPE html>
<html>
    <head>
        <title>BasicExample</title>
        <script>
            sayHello = function(){
            alert("Hello World!");
        }
        document.addEventListener('click', sayHello);
        </script>
    </head>
    <body>
        <button>
            Click me
        </button>
    </body>
</html>

(省略图1-5)

这类型的动态交互由于浏览器支持JavaScript而变得可能。若是你想进行游戏编程,了解玩家如何与游戏进行交互是很是重要的。

HTML的画布

关于新的HTML标准值得说的事情就是提供了几个标签可让HTML更加灵活多样。其中一个很是重要的标签就是canvas标签,这个标签可让你在HTML绘画2D或者3D图像。下面是一个简单的例子:

<!DOCTYPE html>
<html>
    <head>
        <title>BasicExample</title>
    </head>
    <body>
        <div id="gameArea">
            <canvas id="mycanvas" width="800" height="480"></canvas>
        </div>
    </body>
</html>

你能够看到主体部分有个叫gameArea的区域,这个区域有个canvas元素,它有不少属性。它有一个ID,还有宽和高。你能够经过JavaScript改变这个canvas的属性。好比,下面的例子用JavaScript改变了背景色:

<!DOCTYPE html>
<html>
    <head>
        <title>BasicExample</title>
        <script>
            changeCanvasColor = function(){
                var canvas = document.getElementById("mycanvas");
                var context = canvas.getContext("2d");
                context.fillStyle = "blue";
                context.fillRect(0, 0, canvas.width, canvas.height);
            }
            document.addEventListener('DOMContentLoaded', changeCanvasColor);
        </script>
    </head>
    <body>
        <div id="gameArea">
            <canvas id="mycanvas" width="800" height="480"></canvas>
        </div>
    </body>
</html>

在changeCanvasColor函数中,首先看到canvas元素。这个元素就是你能用来画2D或3D图像的元素。在代码中有这样的元素是很是有用的,由于你能够轻松的取回canvas的值,好比宽和高。为了在画布上进行操做,你须要画布上下文。画布上下文提供了在画布上画图的函数。当你从画布上下文中获取信息,你须要代表你是想二维的仍是三维的模式。这个例子中,获得的是二维的画布上下文。你使用二维画布在给定大小区域内填充了背景色。图1-6是代码运行后的效果。下面的章节将会将更多有关canvas元素东西和如何使用它来创造游戏。

(省略图1-6)

把JavaScript放在一个分离的文件里

你能够用一个单独的JavaScript文件来代替在HTML中直接嵌入JavaScript脚本,例如:

<!DOCTYPE html>
<html>
    <head>
        <title>BasicExample</title>
        <script src="BasicExample.js"></script>
    </head>
    <body>
        <div id="gameArea">
            <canvas id="mycanvas" width="800" height="480"></canvas>
        </div>
    </body>
</html>

而后在BasicExample.js包含下面代码:

changeCanvasColor = function(){
    var canvas = document.getElementById("mycanvas");
    var context = canvas.getContext("2d");
    context.fillStyle = "blue";
    context.fillRect(0, 0, canvas.width, canvas.height);
}
document.addEventListener('DOMContentLoader', changeCanvasColor);

在不少状况下,这样设计是颇有必要的。把脚本代码与HTML文本分开来,可让脚本代码运行在不一样的网页上。这本书中的全部JavaScript代码都是与HTML分离开来的,由一个或多个JavaScript文件组成。

你学到了什么

这章中,你学到了:

  • 计算机如何工做,而且它们的处理器如何处理数据和内存存储数据
  • 编程语言如何从汇编语言演变到现代语言,例如JavaScript
  • 如何用HTML5和JavaScript建立一个简单的网页应用
相关文章
相关标签/搜索