exposir / TIL

📝 Today I Learned
https://exposir.github.io/blog/
4 stars 0 forks source link

重学 Javascript #111

Closed exposir closed 1 year ago

exposir commented 2 years ago

Discussed in https://github.com/exposir/blog/discussions/109

Originally posted by **exposir** August 2, 2022 # [重学 Javascript](https://exposir.notion.site/Javascript-1a3f7b0099ae444aa03fc1af03e07d45) > Javascript 高级程序设计 + Modern JavaScript Tutorial + MDN [现代 JavaScript 教程](https://zh.javascript.info/) [MDN Web Docs](https://developer.mozilla.org/zh-CN/) ## 第一章 什么是 JavaScript ### javascript 的实现 - 核心 (ECMAScript) - 文档对象模型 (DOM) - 浏览器对象模型 (BOM) ### 组织分工 TC39 → ECMAScript W3C → DOM 浏览器厂商 → BOM ### 规范和手册 规范:ECMA-262 [ECMAScript® 2023 Language Specification](https://tc39.es/ecma262/) 手册:MDN(Mozilla)JavaScript [JavaScript reference - JavaScript | MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference) ### 小结 JavaScript 是一门用来与网页交互的脚本语言,包含以下三个组成部分。 - ECMAScript:由 ECMA-262 定义并提供核心功能。 - 文档对象模型(DOM):提供与网页内容交互的方法和接口。 - 浏览器对象模型(BOM):提供与浏览器交互的方法和接口。 JavaScript 的这三个部分得到了五大 Web 浏览器(IE、Firefox、Chrome、Safari 和 Opera)不同程度的支持。所有浏览器基本上对 ES5(ECMAScript 5)提供了完善的支持,而对 ES6(ECMAScript 6) 和 ES7(ECMAScript 7) 的支持度也在不断提升。这些浏览器对 DOM 的支持各不相同,但对 Level 3 的支 持日益趋于规范。HTML5 中收录的 BOM 会因浏览器而异,不过开发者仍然可以假定存在很大一部分公共特性。 ## 第二章 HTML 中的 JavaScript ### `` 标签中再包含其他 JavaScript 代码。如果两者都提供的话,则浏览器只会下载并执行脚本文件,从而忽略行内代码。 ### nomodule 这个布尔属性被设置来标明这个脚本在支持  [ES2015 modules](https://hacks.mozilla.org/2015/08/es6-in-depth-modules/)的浏览器中不执行。  实际上,这可用于在不支持模块化 JavaScript 的旧浏览器中提供回退脚本。 ### `