英语原文共 60 页,剩余内容已隐藏,支付完成后下载完整资料
第一部分
JavaScript语言
在这里你可以学习从头开始学习JavaScript并继续到如OOP等高级概念。
我们把注意力集中在这里的语言本身,以及最少的特定于环境的笔记。
介绍
- JavaScript简介
- 代码编辑器
- 开发人员控制台
JavaScript基础
- 你好,世界!
- 代码结构
- 现代模式:”use strict”
- 变量
- 数据类型
- 类型转换
- 操作符
- 比较
- 交互:alert(警告)、prompt(提示)、confirm(确认)
- 条件操作符:if,”?”
- 逻辑操作符
- 循环:while和for
- switch语句
- 函数
- 函数表达式和箭头函数
- JavaScript特辑
代码质量
- 在Chrome中调试
- 代码风格
- 注释
- 高级技巧
- 使用mocha进行自动测试
- Polyfills
对象:基础
- 对象
- 垃圾回收
- 符号类型
- 对象方法,this
- 对象转化为原始类型
- 构造器,new 操作符
数据类型
- 原始类型的方法
- Numbers(数字类型)
- Strings(字符串类型)
- Arrays(数组类型)
- 数组类型的方法
- 枚举类型
- Map(图类型)、Set(集合类型)、WeakMap(弱引用图类型)、WeakSet(弱引用表类型)
- 对象的键、值和条目
- 解构赋值
- 日期和时间
- JSON方法,toJSON
进阶:使用函数
- 递归和堆栈
- Rest参数和分割运算符
- 闭包
- 旧的“var”
- 全局对象
- 函数对象,NFE(Named Function Expression,命名函数表达式)
- “new Fuction”语法
- 调度:setTimeout和setInterval
- 修饰符和转发,call/apply函数
- 函数绑定
- 局部套用和partials
- 重访箭头函数
对象,类,继承
- 标志和描述属性
- getter和setter属性
- 原型继承
- 函数的prototype(原型)属性
- 本地原型
- 原型的方法
- 类模式
- 类
- 类继承,super关键字
- 类检查:instanceof
- 混合
错误处理
- 错误处理:“try...catch”
- 自定义错误,拓展Error
第二部分
浏览器:文档,事件,界面
接下来将会学习到如何管理浏览器页面:增加元素、操作它们的尺寸和位置,动态创建界面并且和访问者交互。
文档
- 浏览器环境,规范
- DOM树
- 漫游在DOM中
- 搜索:getElement*和querySelector*
- 结点属性:类型,标签和内容
- Attributes属性和properties属性
- 修改文档
- 样式和类别
- 元素大小和滚动
- 窗口大小和滚动
- 坐标
事件介绍
- 浏览器事件介绍
- 冒泡和捕获
- 事件委托
- 浏览器默认行动
- 调度定制事件
事件详情
- 鼠标事件基础
- 移动:鼠标移动/移出、鼠标进入/离开
- 拖动鼠标事件
- 键盘:键按下和键弹开
- 滚动
- 页面生命周期:DOM内容加载完成,加载,卸载前,卸载
- 资源加载:加载完成和加载失败
表单,控制
- 表单属性和方法
- 焦点事件:获取焦点/失去焦点
- 事件:改变,输入,剪切,复制,粘贴
- 表单提交:事件和方法提交
第三部分
额外的文章
本教程的前两部分没有涵盖的额外主题列表。这里没有清晰的层次结构,您可以按照您想要的顺序访问文章。
动画
贝塞尔曲线
CSS动画
JavaScript动画
框架和窗体
弹出窗口和窗口方法
跨窗口通信
点击劫持攻击
正则表达式
模式和标志
RegExp和String方法
字符类
转义,特殊字符
集合和ranges[hellip;]
Unicode标识
量词 、*、?和{n}
贪心和懒惰量词
捕获组
反向引用:\ n和$ n
交替(OR)|
字符串开始^并完成$
多行模式,标志“m”
前瞻(正在进行)
无限回溯问题
承诺,异步/等待
介绍:回调
Promise链接
Promise API
异步/等待
1. JavaScript介绍
让我们来看看JavaScript有什么特别之处,我们可以用它来实现什么,以及其他技术与它有什么关系。
1.1 JavaScript是什么?
JavaScript创建的最初目的是“使网页动起来”
这种语言中的程序叫做脚本。它们可以被写入到HTML中,并在页面加载时自动执行。
脚本是作为纯文本提供和执行的。他们不需要特别的准备或编译来运行。
在这方面,JavaScript与另一种称为Java的语言非常不同。
1.1.1 为什么是JavaScript?
在JavaScript被创造出来的时候,它最初有另一个名字:“LiveScript”。但是在当时Java语言实在是太流行了,所以将一门新的语言定位为Java的“弟弟”应该会有帮助。
但是随着它的发展,JavaScript变成了一个完全独立的语言,有它独属的规范:ECMAScript,现在它和Java没有任何关系了。
目前JavaScript不仅可以运行在浏览器中,也可以在服务端,或者在装有一个叫做JavaScript引擎的特殊程序的任意设备上。
浏览器中有一个嵌入式引擎,有时它也被叫做JavaScript虚拟机。
不同的引擎有着不同的“代号”,例如:
- V8-在Chrome和Opera(欧朋)浏览器
- SpiderMonkey-在Firefox(火狐)浏览器
- hellip;hellip;这里有其他的代码名如“Trident”、“Chakra”对于不同版本的IE,“ChakraCore”对于微软的Edge,“Nitro”和“SquirrelFish”对于Safari等等。
以上的术语是比较容易记忆的,因为它们被用在网络上的开发者文档。我们也会使用它们。例如:如果“一个特性X被V8支持”,那么它会在Chrome和Opera浏览器中起作用。
1.1.2 引擎是如何工作的?
引擎是复杂的,但是它的基础原理是简单的。
- 引擎(嵌入的如果它是一个浏览器)读取(解析)脚本。
- 然后它将这段脚本转换(编译)为机器语言。
- 然后机器代码运行得很快。
引擎在过程的每个阶段都应用优化。它甚至在运行时监视已编译的脚本,分析流经它的数据,并根据这些知识对机器代码进行优化。最后,脚本非常快。
1.2 浏览器中的JavaScript可以做什么?
现代JavaScript是一种“安全”的编程语言。
它不提供对内存或CPU的低级访问,因为它最初是为不需要它的浏览器创建的。
这些功能很大程度上依赖于运行JavaScript的环境。
例如,Node.JS支持允许JavaScript读取/编写任意文件、执行网络请求等功能。
浏览器内的JavaScript可以做任何与网页操作有关的事情,与用户和网络服务器交互。
例如,浏览器内的JavaScript可以:
bull;向页面添加新HTML,更改现有内容,修改样式。
bull;对用户动作作出反应,在鼠标点击、指针移动、按键按下运行。
bull;通过网络向远程服务器发送请求,下载和上传文件(所谓的AJAX和COMET技术)。
bull;获取并设置cookies,向访问者提问,展示信息。
bull;记住客户端(“本地存储”)的数据。浏览器内的JavaScript不能做什么?
为了用户的安全,JavaScript在浏览器中的功能是有限的。其目的是防止恶意网页访问私人信息或损害用户的数据。
此类限制的例子有:
网页内的JavaScript不能够读写硬盘中的任意文件,复制它们或者运行程序。它不能够直接调用操作系统的函数。
现代浏览器允许它处理文件,但是访问是有限的,只有在用户执行某些操作时才提供,比如将文件“删除”到浏览器窗口中,或者通过lt;inputgt;标签选择它。
有一些方法可以与摄像头/麦克风和其他设备进行交互,但它们需要用户的明确许可。因此,一个支持javascript的页面可能不会偷偷地启用网络摄像头,观察周围环境并将信息发送给美国国家安全局。
bull;不同的标签/窗口通常不了解对方。有时他们会这样做,例如,当一个窗口使用JavaScript打开另一个窗口时。但即使在这种情况下,如果来自一个页面的JavaScript来自不同的站点(来自不同的域、协议或端口),那么它也不能访问其他页面。
这就是所谓的“同源策略”。为了解决这个问题,两个页面必须包含一个处理数据交换的特殊JavaScript代码。
限制是为了用户的安全。用户打开的http://anysite.com的页面不能访问另一个带有URL http://gmail.com的浏览器标签,并从那里窃取信息。
JavaScript可以容易地通过网络与当前页面来源的服务器进行交流。但是它从其他站点或域名获取数据的能力是被严重限制的。它还需要明确的来自远程站点的许可(体现在HTTP头中),这也是安全性限制。
如果JavaScript在浏览器之外使用,例如在服务器上,这样的限制是不存在的。现代浏览器也允许安装插件/扩展,这可能会得到扩展的权限。
1.4 是什么使JavaScript与众不同?
关于JavaScript,这里至少有三个要点:
和HTML/CSS的完全整合。
简单的事情被简单完成。
被所有的浏览器所支持并且被默认启用。
这三个技术在除JavaScript以外的所有浏览器技术中都不同时存在。
这使得JavaScript与众不同。这是使得它成为创建浏览器界面的使用最广泛的工具。
在计划学习一项新技术时,检查它的当前现状是有好处的。所以让我们看一下包含新语言和浏览器能力的现代趋势。
1.4什么使JavaScript独一无二?
关于JavaScript,至少有三件很棒的事情:
bull;与HTML/CSS完全集成。
bull;简单的事情简单来做。
bull;所有主流浏览器支持,默认启用。
结合起来,这三种东西只存在于JavaScript中,没有其他的浏览器技术。
这就是JavaScript的独特之处。
这就是为什么它是创建浏览器界面最广泛的工具。
在计划学习一项新技术的同时,检查它的观点是有益的。
因此,让我们来看看包括新语言和浏览器能力在内的现代趋势。
1.5 JavaScript之上的语言
JavaScript的语法并不适合每个人的需要。
不同的人需要不同的功能。
这是意料之中的,因为项目和需求对每个人来说都是不同的。
因此,最近出现了大量的新语言,它们在浏览器运行之前被转换为JavaScript。
现代工具使传输速度非常快和透明,实际上允许开发人员使用另一种语言编写代码,并将其自动转换。
这些语言的例子:
bull;coffeescript是JavaScript的“语法糖”,它引入了更短的语法,允许编写更精确、更清晰的代码。通常是Ruby开发者们喜欢它。
bull;typescript专注于添加“严格的数据类型”,以简化复杂系统的开发和支持。
它是由微软开发的。
bull;dart是一种独
全文共22801字,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[13961],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。