前言:
而今我们对“js蜗牛”大约比较关怀,兄弟们都需要学习一些“js蜗牛”的相关文章。那么小编同时在网上汇集了一些有关“js蜗牛””的相关知识,希望我们能喜欢,大家一起来了解一下吧!1.1 JavaScript简介
让我们看看JavaScript有什么特别之处,我们可以用它实现什么,以及哪些其他技术可以很好地使用它。
什么是JavaScript?
最初创建JavaScript是为了“使网页变得生动”。用这种语言编写的程序称为脚本。它们可以直接写在网页的HTML中,并在页面加载时自动运行。
提供脚本并将其作为纯文本执行。他们不需要特殊的准备或编译即可运行。在这方面,JavaScript与另一种称为Java的语言有很大不同。
为什么叫JavaScript?
创建JavaScript时,它最初具有另一个名称:“ LiveScript”。但是Java在当时非常流行,因此决定将一种新语言定位为Java的“弟弟”会有所帮助。
但是随着它的发展,JavaScript成为一种完全独立的语言,具有自己的称为ECMAScript的规范,现在它与Java完全无关。
如今,JavaScript不仅可以在浏览器中执行,而且可以在服务器上执行,或者实际上可以在具有称为JavaScript引擎的特殊程序的任何设备上执行。
浏览器具有嵌入式引擎,有时称为“ JavaScript虚拟机”。
不同的引擎具有不同的“代号”。例如:
V8 –在Chrome和Opera中。SpiderMonkey –在Firefox中。…还有其他代号,例如用于不同版本的IE的“ Trident”和“ Chakra”,用于Microsoft Edge的“ ChakraCore”,用于Safari的“ Nitro”和“ SquirrelFish”等。
上面的术语很容易记住,因为它们在Internet上的开发人员文章中使用。我们也会使用它们。例如,如果“ V8支持某项功能X”,则该功能可能会在Chrome和Opera中运行。
引擎如何运作?
引擎很复杂。但是基础很简单。
1. 引擎(如果是浏览器,则嵌入)读取(“解析”)脚本。
2. 然后,它将脚本转换(“编译”)为机器语言。
3. 然后,机器代码运行得非常快。
引擎在流程的每个步骤都应用优化。它甚至在运行时监视已编译的脚本,分析流过该脚本的数据,并根据该知识对机器代码进行优化。完成后,脚本运行速度非常快。
浏览器内JavaScript可以做什么?
现代JavaScript是一种“安全”的编程语言。它不提供对内存或CPU的低级访问,因为它最初是为不需要它的浏览器创建的。
JavaScript的功能很大程度上取决于其运行的环境。例如,Node.js支持允许JavaScript读取/写入任意文件,执行网络请求等功能。
浏览器内JavaScript可以完成与网页操作,与用户和Web服务器的交互有关的所有事情。
例如,浏览器中的JavaScript能够:
将新的HTML添加到页面,更改现有内容,修改样式。对用户操作做出反应,通过单击鼠标,指针移动和按键来运行。通过网络将请求发送到远程服务器,下载和上传文件(所谓的AJAX和COMET技术)。获取并设置Cookie,向访问者提问,显示消息。记住客户端上的数据(“本地存储”)。浏览器内的JavaScript无法做什么?
为了用户的安全,限制了浏览器中JavaScript的功能。目的是防止恶意网页访问私人信息或损害用户数据。
此类限制的示例包括:
网页上的JavaScript可能无法读写硬盘上的任意文件,将它们复制或执行程序。它不能直接访问OS系统功能。现代浏览器允许它处理文件,但是访问受到限制,并且只有在用户执行某些操作(例如将文件“拖放”到浏览器窗口或通过<input>标记选择)时才提供访问权限。有多种与相机/麦克风和其他设备进行交互的方法,但是它们需要用户的明确许可。因此,启用JavaScript的页面可能无法立即启用网络摄像头,观察周围环境并将信息发送给NSA。不同的选项卡/窗口通常互不了解。有时它们会这样做,例如,当一个窗口使用JavaScript打开另一个窗口时。但是即使在这种情况下,如果一个页面中的JavaScript来自不同的站点(来自不同的域,协议或端口),它们也可能无法访问另一页面。这称为“相同来源政策”。要解决此问题,两个页面必须同意进行数据交换,并包含处理它的特殊JavaScript代码。同样,此限制是出于用户安全的考虑。用户打开的来自的页面不能访问URL为的其他浏览器选项卡,并不能从那里窃取信息。JavaScript可以轻松地通过网络与当前页面所来自的服务器进行通信。但是它从其他站点/域接收数据的能力被削弱了。尽管可能,但需要明确的协议(以HTTP标头表示)
如果在浏览器外部(例如在服务器上)使用JavaScript,则不存在此类限制。现代浏览器还允许插件/扩展,可能要求扩展权限。
是什么使JavaScript独特?
关于JavaScript至少有三件事:
1. 与HTML / CSS完全集成。2. 简单的事情简单地完成。3. 所有主要浏览器均支持并默认启用。
JavaScript是将这三件事结合在一起的唯一浏览器技术。
这就是使JavaScript独特的原因。这就是为什么它是用于创建浏览器界面的最广泛的工具。
也就是说,JavaScript还允许创建服务器,移动应用程序等。
JavaScript上的语言
JavaScript的语法并不适合所有人的需求。不同的人想要不同的功能。
这是可以预料的,因为每个人的项目和要求都不同。
因此,最近出现了许多新语言,这些新语言在浏览器中运行之前已被编译(转换)为JavaScript。
现代工具使转换非常快速和透明,实际上使开发人员可以使用另一种语言进行编码并“在幕后”对其进行自动转换。
此类语言的示例:
CoffeeScript是JavaScript的“语法糖”。它引入了较短的语法,使我们可以编写更清晰,更精确的代码。通常,Ruby开发人员喜欢它。TypeScript专注于添加“严格数据类型”以简化复杂系统的开发和支持。它是由Microsoft开发的。Flow还以不同的方式添加了数据类型。由Facebook开发。Dart是一种独立的语言,具有自己的引擎,该引擎可以在非浏览器环境(例如移动应用程序)中运行,但也可以转换为JavaScript。由Google开发。
还有更多。当然,即使我们使用一种编译语言,我们也应该了解JavaScript才能真正了解我们在做什么。
摘要JavaScript最初是作为一种仅用于浏览器的语言创建的,但现在也已在许多其他环境中使用。如今,JavaScript已成为与HTML / CSS完全集成的最广泛使用的浏览器语言。有许多语言可以“转换”为JavaScript并提供某些功能。建议在精通JavaScript之后至少对它们进行一下浏览。
标签: #js蜗牛 #javascript怎么启用