JS实用篇复习笔记(1)

142 阅读2分钟

0、ps: 此类型系列文章为完整复习js部分

1、JS 介绍诞生

* 蹭热度 最初有另一个名称:“LiveScript”。但是当时Java非常流行,所以决定将一门新语言定位为Java的“弟弟”会有所帮助

今天,JavaScript 不仅可以在浏览器中执行,还可以在服务器上执行,或者实际上可以在任何具有称为JavaScript 引擎的特殊程序的设备上执行。

浏览器有一个嵌入式引擎,有时称为“JavaScript 虚拟机”。

不同的引擎有不同的“代号”。例如:

  • V8 – 在 Chrome 和 Opera 中。

  • SpiderMonkey – 在 Firefox 中。

  • …还有其他代号,如 IE 的“Chakra”、Safari 的“JavaScriptCore”、“Nitro”和“SquirrelFish”等。

    • 引擎做了什么事情 简单点讲 解析脚本--> 适配环境 --> 转为机器语言 --> 运行

2、做什么 ?

浏览器内 JavaScript 能够:

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

3、限制 ?

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

2、同源策略

‘协议 域名 端口号 ’

3、 JavaScript 可以轻松地通过网络与当前页面来自的服务器通信。但是它从其他站点/域接收数据的能力被削弱了。虽然可能,但它需要来自远程端的明确同意(以 HTTP 标头表示)。再一次,这是一个安全限制

  • like this one

image.png

  • 这是对浏览器的安全策略,在服务器端则没有这个问题

4、JS作用 ? 为什么需要 js

JavaScript至少有三件很棒的事情:

  • 与 HTML/CSS 完全集成。
  • 简单的事情做的很简单。
  • 所有主要浏览器都支持并默认启用。
  • 并且 可以 将其他的内容转为 JS 处理,让浏览器识别,扩充了 JS的 能力 ,比如 TS JSX