美文网首页JavaScript
JavaScript 高级程序设计学习笔记1—— JavaScr

JavaScript 高级程序设计学习笔记1—— JavaScr

作者: sylvia_yue | 来源:发表于2017-11-16 11:52 被阅读35次

第1章 JavaScript 简介

1.1 JavaScript 组成:

核心(ECMAScript) + 文档对象模型(DOM) + 浏览器对象模型(BOM)


1.1.1 ECMAScript

ECMAScript 规定了以下内容:
语法、类型、语句、关键字、保留字、操作符、对象。
ECMAScript 就是对实现该标准规定的各个方面内容的语言描述。

1.1.2 文档对象模型(DOM)

DOM——针对XML 但将扩展用于HTML的应用程序编程接口(API)。
DOM把整个页面映射为一个多层节点结构,页面中的每个组成部分都是某种类型的节点,这些节点又包含着不同类型的数据。
借助 DOM 提供的 API,可以轻松自如地删除、添加、替换、修改任何节点。

1.1.3 浏览器对象模型(BOM)

BOM —— 可以访问和操作浏览器对象模型。
根本上讲,BOM 只处理浏览器窗口和框架,但习惯上把所有针对浏览器的 JavaScript 扩展都算作 BOM 的一部分。如:
弹出新浏览器窗口;
移动、缩放和关闭浏览器窗口的功能;
提供浏览器详细信息的 navigator 对象;
提供浏览器所加载页面的详细信息的 location 对象;
提供用户显示器分辨率详细信息的 screen 对象;
对 cookies 的支持;
像 XMLHttlRequest 和 IE 的 ActiveXObject 这样的自定义对象。

第2章 在 HTML 中使用 JavaScript

2.1 <script>元素

src 属性:可选,当加载外部 js 文件时,此属性必需;可以指向当前页面所在域之外的某个域中的完整 URL 。
type 属性:可选,写代码使用的脚本语言的内容类型,默认 text/javascript。
async 属性: 可选,立即下载脚本,但不应妨碍页面中的其他操作,如下载其他资源或等待加载其他脚本。只对外部脚本文件有效。
defer 属性:可选。立即下载,延迟执行。表示脚本可以延迟到文档完全被解析和显示之后再执行。只对外部文件有效。defer='defer'。
无论如何包含代码,只要不存在 defer 和 async 属性,浏览器都会按照<script>元素在页面中出现的先后顺序对他们依次进行解析。

2.1.1 标签的位置

按传统做法,所有 <script> 元素都应该放在 <head> 元素中,但由于 <script> 元素顺序加载,为防止浏览器在呈现页面时出现延迟,一般将 JavaScript 引用放在 <body> 元素中页面内容的后面。视觉上,浏览器窗口显示空白页面的时间缩短,而感觉打开页面的速度加快。

2.2 嵌入代码与外部文件

建议使用外部文件来包含 JavaScript 代码,优点如下:
可维护性好;可缓存;适应未来。

2.3 文档模式

文档模式是通过使用文档类型(doctype)切换实现的。
混杂模式——IE 会按IE5.5 来渲染。不同浏览器在此模式下,行为差异非常大。若不适用 hack 技术,跨浏览器的行为根本无一致性可言。
标准模式——按标准进行渲染。

2.4 <noscript>元素

所有浏览器都支持 <noscript>元素,包含<noscript>元素的只有下列情况下才会显示出来:
浏览器不支持脚本或浏览器支持脚本但脚本被禁用。

相关文章

  • JavaScript 高级程序设计学习笔记1—— JavaScr

    第1章 JavaScript 简介 1.1 JavaScript 组成: 核心(ECMAScript) + 文档对...

  • 【前端学习笔记】JavaScript对象的几种创建方式整理-简要

    笔记来自JavaScript高级程序设计的学习笔记。 JavaScript对象的其中创建方式。 一、工厂模式 二、...

  • TypeScript学习记录- 数据类型基础

    TS 学习笔记记录 相关文档 TypeScript 入门教程-xcatliu JavaScript高级程序设计(第...

  • 2019-04-17

    JavaScript高级程序设计笔记 第一章 JavaScript简介 JavaScript历史回顾 JavaSc...

  • 《JavaScript高级程序设计》笔记2:在HTML中使用Ja

    参考原文:《JavaScript高级程序设计》笔记:在HTML中使用Javascript