JavaScript初步介绍

JavaScript宗旨是让网站活起来

优点

  • 安全,因为它是基于浏览器引擎(V8, spiderMokey)运行的
  • 与 HTML/CSS 完全集成。
  • 简单的事情简单地完成。
  • 所有主流浏览器都支持并默认启用。

功能

  • 向页面添加新的 HTML,更改现有内容,修改样式。
  • 对用户操作做出反应,在鼠标点击、指针移动、按键时运行,注意这里是指用户在浏览器的操作,而不是触发系统的指令
  • 通过网络向远程服务器发送请求,下载和上传文件(所谓的AJAXCOMET技术)。
  • 获取和设置 cookie,向访问者提问,显示消息。
  • 记住客户端的数据(“本地存储”)。

不能做什么

  • 网页上的 JavaScript 可能无法读取/写入硬盘上的任意文件、复制它们或执行程序。它不能直接访问操作系统功能。

    现代浏览器允许它处理文件,但访问受到限制,并且仅在用户执行某些操作时提供,例如将文件“拖放”到浏览器窗口或通过<input>标签选择它。

    有一些方法可以与相机/麦克风和其他设备进行交互,但它们需要用户的明确许可。因此,启用 JavaScript 的页面可能不会偷偷启用网络摄像头、观察周围环境并将信息发送给NSA

  • 不同的选项卡/窗口通常彼此不了解。有时他们会这样做,例如当一个窗口使用 JavaScript 打开另一个窗口时。但即使在这种情况下,如果一个页面的 JavaScript 来自不同的站点(来自不同的域、协议或端口),它们也可能无法访问另一个页面,跨域的问题就来自这里

    这称为“同源策略”。要解决这个问题,两个页面都必须同意数据交换并包含处理它的特殊 JavaScript 代码。我们将在本教程中介绍。

    再次,此限制是为了用户的安全。用户打开的页面http://anysite.com不得使用 URL 访问另一个浏览器选项卡http://gmail.com并从那里窃取信息。

  • JavaScript 可以很容易地通过网络与当前页面所在的服务器进行通信。但是它从其他站点/域接收数据的能力被削弱了。尽管可能,但它需要来自远程端的明确协议(以 HTTP 标头表示)。

如果JavaScript在浏览器之外使用,例如在服务器上,则不存在这样的限制。现代浏览器也允许插件/扩展请求扩展权限。

其他类似JavaScript的语言

  • CoffeeScript是 JavaScript 的“语法糖”。它引入了更短的语法,使我们能够编写更清晰、更精确的代码。通常,Ruby 开发人员喜欢它。
  • TypeScript专注于添加“严格的数据类型”以简化复杂系统的开发和支持。它是由微软开发的。
  • Flow还添加了数据类型,但方式不同。由 Facebook 开发。
  • Dart是一种独立的语言,它有自己的引擎,可以在非浏览器环境(如移动应用程序)中运行,但也可以转换为 JavaScript。由谷歌开发。
  • Brython是一个 Python 到 JavaScript 的转译器,它可以在没有 JavaScript 的情况下用纯 Python 编写应用程序。
  • Kotlin是一种现代、简洁且安全的编程语言,可以针对浏览器或 Node.js。

参考

  1. https://javascript.info/intro#what-makes-javascript-unique

本文由博客一文多发平台 OpenWrite 发布!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容